利用循环,计算1!+2!+3!+…100!的总和
先写个求阶乘的方法: public static int jiecheng(int n) { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; } 然后如你要求的用dowhile()循环计算:(也给你写了个方法) public static double caculate(int n) { double sum = 0.0; int i=1; do{ sum = sum + 1.0 / jiecheng(i); i++; } while(i<=n) return sum; } 用的时候直接调用这个方法就可以了,例如计算前20的:caculate(20); n随便你多少 o(∩_∩)o...哈哈
public static void main(String[] args) {
System.out.println(getSum(100));
}
public static long getSum(int max) {
long pref = 1;
long sum = 0;
for (int i = 1; i <= max; ++i) {
pref *= i;
sum += pref;
}
return sum;
}
1!+2!+3!+4!+…+n!的和
import java.util.Scanner;
public class TEST0107 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
System.out.println(factorial(n));
}
public static long factorial(int n) {
long Sum=0;
for(int i=1;i<=n;i++){
long sum=1;
//计算第i项的阶乘
for(int j=1;j<=i;j++){
sum=sum*j;
}
//阶乘累加
Sum=Sum+sum;
}
return Sum;
}
}
输入数字5后的运行结果如下:
代码如下,如有帮助,请采纳一下,谢谢。
public class TEST {
//n的阶乘
public static double jiecheng(int n){
if(n == 0)
return 1;
double ss = 1;
for(int i = 1; i <=n; i++)
ss *= i;
return ss;
}
//阶乘求和
public static double sumjiecheng(int n){
double sum = 0;
for(int i = 1; i <=n; i++)
sum += jiecheng(i);
return sum;
}
public static void main(String[] args) {
int n = 5;
System.out.println("1! + 2! + ...+ 100! =" + sumjiecheng(100));
}
}