求1! + 2! + 3! + ... + 20! 的和
方法一(递归):找规律,找出口
public class Test01 { public static void main(String[] args) { long sum = 0; for (int i = 1; i <= 20; i++) { sum = sum + DiGui(i); } System.out.println(sum); } public static long DiGui(int a) { if (a == 1) { return 1; //递归的出口 }else{ return a*DiGui(a-1); } } }
方法二(for循环):
public class Test01 { public static void main(String[] args) { long sum = 0; for (int i = 1; i <= 20; i++) { long c = 1; for (int j = 1; j <= i; j++) { c = c * j; } s = s + c; } System.out.println(s); } }