您的位置:首页 > 其它

阶乘,递归,方法的运用

2016-09-06 19:37 246 查看
求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));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象 对象 实例