求1的阶乘+2的阶乘+...+10的阶乘
求: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);
}
}
运行结果:
