打印九九乘法表,求自然对数e和圆周率Pi,十进制转二进制

it2022-05-05  106

import java.util.arrays; public class Test{ public static void printmultipicationTable(){ \\打印九九乘法表 for(int i=1;i<=9;i++) { for(int j=1;j<i;j++) { System.out.printf("%d*%d=%d\t",j,i,i*j); } System.out.println(); } } public static long factorial(int n){\\递归求阶乘 if(n==0||n==1) return 1; else return n*factorial(n-1); } public static long factorial2(int n){\\迭代求阶乘 int r=1; for(int i=1;i<=n;i++) r*=i; return r; } public static double calcE(int n){\\求自然对数e的值 double e=0; for(int i=0;i<n;i++) e+=(1.0/factorial(i)); return e; } public static double calcPi(int n){\\求Pi的值 double pi4=0; for(int i=0;i<n;i++) { int a=2*i+1; double b=1.0/a; if(i%2==0) { pi4+=b; } else { pi4-=b; } } return pi4*4; } public static String reverse(String s){\\字符串反转 int length=s.length(); String r=""; for(int i=length-1;i>=0;i--) { r+=s.charAt(i); } return r; } public static String decToHex(int n){\\将十进制转换为二进制 String r=""; while(n>0) { int a=n; int b=n/16; if(a>=10) { char c=(char)((a-10)+'A'); r+=c; } else { r+=a; } n=b; } return reverse(r); } public static void main(String[] args){ printmultipicationTable(); System.out.println(calcE(10)); System.out.println(calcPi(10000000)); System.out.println(decToHex(1958)); }

最新回复(0)