題目描述
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
算法描述: 1. 利用c++的類的構造函數,構造函數會在對象創建的時候會執行,但不適合java 2. 創建一個二維數組bool array[n][n + 1],然后得出整個數組的大小,最終通過移位除2來求出和,不適合java,因為java沒有sizeof函數。 3. 利用邏輯符號的短路性,實現遞歸求解
代碼如下:
public static int Sum_Solution(int n) { int ans = n; boolean w = ans != 0 && (ans += Sum_Solution(n - 1)) != 0; return ans; }新聞熱點
疑難解答