题目描述:
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题解:递归实现/利用Math
1 //利用短路 && 来实现 if的功能 2 public static int Sum_Solution(int n) { 3 int sum=n; 4 boolean flag=(sum>0)&&(sum+=Sum_Solution(--n))>0; 5 return sum; 6 } 7 //利用Math实现n(n+1) 8 public static int Sum_Solution01(int n) { 9 int sum=n; 10 sum= (int) ((Math.pow(n,2)+n)/2); 11 return sum; 12 } 13 //测试 14 ublic static void main(String[] args) { 15 int n=100; 16 int i =Sum_Solution(n); 17 int i1 =Sum_Solution01(n); 18 System.out.print(i); 19 System.out.println(i1); 20 } 21 //结果:5050 5050