求1!+2!+...+60!的值。
public class TestDemo {
public static void main(String args[]){
double sum = 0.0;
for( int x = 1 ; x <= 60 ; x ++){
double temp = 1.0;
for(int y = 1 ; y <= x ; y ++ ){
temp *= y;
}
sum += temp;
}
System.out.println("计算结果:" + sum );
}
)没有使用eclipse 现在用的DOS去执行的 但是问题显示需要class interface enum 我的文件名和类名是一样的
public class TestDemo {
public static void main(String args[]){
double sum = 0.0;
for( int x = 1 ; x <= 60 ; x ++){
double temp = 1.0;
for(int y = 1 ; y <= x ; y ++ ){
temp *= y;
}
sum += temp;
}
System.out.println("计算结果:" + sum );
}
)没有使用eclipse 现在用的DOS去执行的 但是问题显示需要class interface enum 我的文件名和类名是一样的
public class TestDemo
{
public static void main(String[] args)
{
long sum = 0; for (int i = 1; i < 61; i++)
{
sum+=factorial(i);
} System.out.println(sum);
} // 阶乘,求num的阶乘结果
public static long factorial(int num)
{
if (1 == num)
{
return 1;
}
else
{
return num * factorial(num - 1);
}
}}
操蛋的题目,刚开始我还整个返回类型int,雷死我了结果这么大都超int上限了
7130771808709376537
{
public static void main(String args[])
{
double sum = 0.0;
for (int x = 1; x <= 60; x++)
{
double temp = 1.0;
for (int y = 1; y <= x; y++)
{
temp *= y;
}
sum += temp;
}
System.out.println("计算结果:" + sum);
}
}
不过接到我也有问题了,咱俩出来的结果不一样啊,纠结的很啊double和long精度错这么远?计算结果:8.46206204346806E81
double temp = 1.0;
for(int i = 1 ; i <= 60 ; i++){
temp *= i;
sum += temp;
}多一重循环带来的运算量增加是乘法级的