求1!+2!+。。。+5! 如3!=1*2*3
①普通方式
public static void main(String[] args) {
int sum =0;//定义总和
int factorialSum =0 //算第几个数的阶乘
for(int i = 1;i<=5;i++){
factorialSum *=i;
sum +=factorialSum;
}
System.out.println(sum);
}
②方法的运用
class Factorial{
//求第几数的阶乘
int factorialSum(int pnum){
int sum=1;
for(int i=1;i<=pnum;i++){
sum *=i;
}
return sum;
}
//求和
int add(int pnum){
int sum =0;
for(int i=1;i<=pnum;i++){
sum +=factorialSum(i);
}
return sum;
}
public static void main(String[] args) {
Factorial m = new Factorial();
System.out.println(m.add(5));
}
}
递归方法
class Factorial{
//求第几数的阶乘
int factorialSum(int pnum){
if(pum==1 || pum==2){
return 1;
}
return pnum*factorialSum(pnum-1);
}
//求和
int add(int pnum){
int sum =0;
for(int i=1;i<=pnum;i++){
sum +=factorialSum(i);
}
return sum;
}
public static void main(String[] args) {
Factorial m = new Factorial();
System.out.println(m.add(5));
}
}