1. 程式人生 > >47、求1+2+3+...+n

47、求1+2+3+...+n

n) col 除法 clas 條件判斷 als pub turn 返回

一、題目

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。

二、解法

 1 public class Solution {
 2         /*1.需利用邏輯與的短路特性實現遞歸終止。 
 3         2.當n==0時,(n>0)&&((sum+=Sum_Solution(n-1))>0)只執行前面的判斷,為false,然後直接返回0;
 4         3.當n>0時,執行sum+=Sum_Solution(n-1),實現遞歸計算Sum_Solution(n)。
*/ 5 public int Sum_Solution(int n) { 6 int sum = n; 7 boolean b = (n>0)&&((sum+=Sum_Solution(n-1))>0); 8 return sum; 9 } 10 }

47、求1+2+3+...+n