public class Course0717{
//打印99乘法表
public static void Mul(){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(i + "*" + j + "=" + (i*j) +" " );
//System.out.printf("%d*%d=%-2d\t",i,j,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;
}
//e = 1/1! +1/2! +1/3! +...
public static double calaE(int n){
double e = 0;
for(int i = 0;i<n;i++)
{
e+=(1.0/factorial(i));
}
return e;
}
//pi/4=1/1-1/3+1/5-1/7+1/9-...
public static double calaPi(int n){
double pi4=0;
for(int i=0;i<n;i++){
int fenmu = 2*i+1;
double item = 1.0/fenmu;
if(i%2==0){
pi4+=item;
}
else{
pi4-=item;
}
}
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>16)
{
int yushu = n%16;
int shang = n/16;
if(yushu>9)
{
char c =(char)(yushu-10+'A');
r+=c;
}
else{
r+=yushu;
}
n=shang;
}
if(n>9){
char c = (char)(n-10+'A');
r+=c;
}
else{
r+=n;
}
return reverse(r);
}
public static void main (String[] args){
Mul();
System.out.printf("e=%f%n",calaE(3));
System.out.printf("pi=%f%n",calaPi(10000));
System.out.println(decToHex(300));
System.out.println(decToHex(1958));
}
}
C语言中基本算法用Java实现
最新推荐文章于 2022-10-31 09:36:33 发布