阶乘,递归,方法的运用

来源:互联网 发布:六级听力怎么练 知乎 编辑:程序博客网 时间:2024/06/14 21:56

求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));}}
0 0
原创粉丝点击