套用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)); }}
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);
}}
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); }
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); } }
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); }
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));
}}
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);
}}
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);
}
{
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);
}
}
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