求:1!+2!+3!+…+10!
阶乘:概念不多说,看看例子就懂咯
0的阶乘是1 即 0!=1
n的阶乘是:n*(n-1)*(n-2)…*1
例如:5的阶乘
5!=5✖4✖3✖2✖1=120
【例题】:1!+2!+3!+…+10!
1!=1
2!=1✖2
3!=1✖2✖3
4!=1✖2✖3✖4
5!=1✖2✖3✖4✖5
6!=1✖2✖3✖4✖5✖6
7!=1✖2✖3✖4✖5✖6✖7
8!=1✖2✖3✖4✖5✖6✖7✖8
9!=1✖2✖3✖4✖5✖6✖7✖8✖9
10!=1✖2✖3✖4✖5✖6✖7✖8✖9✖10
先来看看单个的阶乘怎么求:
例如:
求5的阶乘
package com.jinglan.loop;
public class Demo01 {
public static void main(String[] args) {
//阶乘
//5!=5*4*3*2*1
int num5=1;
for(int num=1;num<=5;num++) {
num5=num5*num;
}
System.out.println("5的阶乘是:"+num5);
}
}
运行结果:
利用循环嵌套来解决1!+2!+3!+…+10!
package com.jinglan.loop;
public class FactorialSum {
public static void main(String[] args) {
/*
* 求1!+2!+3!+...+10!的值 利用循环嵌套的原理: 外层循环控制和运算 内层循环控制阶乘运算
*/
int sum = 0;// 定义sum用来记住和
int f = 1;// 定义f记住阶乘计算的结果
for (int i = 1; i <= 10; i++) {// 外层循环控制和运算
f = 1;//每次循环结束之后,将f初始化
for (int j = 1; j <= i; j++) {// 内层循环控制阶乘运算
f = f * j;// 存放阶乘计算的结果
}
sum = sum + f;
}
System.out.println("1!+2!+3!+...+10!的结果是:" + sum);
}
}
运行结果: