求java代码1-5阶乘之和

解决方案 »

  1.   

    套用2个递归public class FindSun { public static long getSun(int num) {
    if (num == 1)
    return 1;
    else {
    return num * getSun(num - 1);
    }
    } public static long getAllSun(int num) {
    if (num == 1)
    return getSun(num);
    else {
    return getSun(num) + getAllSun(num - 1);
    }
    } public static void main(String[] args) {
    System.out.println(getAllSun(4));
    }}
      

  2.   


    public class Factorial {
    static int factor(int num){
    if(num < 0)
    return 0;
    if(num == 1)
    return 1;
    return num * factor(num - 1);
    }
    public static void main(String[] args){
    int sum = 0;
    for(int i = 1; i <= 5; ++i)
    {
    sum += factor(i);

    }
    System.out.println(sum);

    }}
      

  3.   


    public static void main(String[] args) throws Exception {
    int num = 6;
    int sum = 1;
    for (int i = 1; i <= num; i++) {
    sum *= i;
    } System.out.println(sum);
    }
      

  4.   

    class Test 
    {
    public static void main(String[] args) 
    {
    int i=0,sum=0,temple=1;
    for(i=0;i<5;i++)
    {
    temple*=(i+1);
    sum+=temple;
    }
    System.out.println("the sum is:"+sum);
    }
    }
      

  5.   


    public static void main(String[] args) {
    System.out.println(factorialAdd(5));
    }
    public static long factorialAdd(int n) {
    long[] l = new long[n];
    return add(1,l,n);
    }

    private static long add(int i,long[] l,int n) {
    if(i==n) {
    return factorial(i, l);
    }
    else {
    return factorial(i, l)+add(i+1,l,n);
    }
    }

    private static long factorial(int n,long[] l) {
    if(n==1) {
    return l[n-1] = 1;
    }
    return l[n-1] = l[n-2]*n;
    }
    结果:153