刷演算法 求1 2 3 n

2021-09-13 12:13:07 字數 383 閱讀 8796

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

題目要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句,那麼首先就要思考怎麼才能使n一次次的相加且到0的時候結束。首先遞迴可以實現每次n-1的相加,即類似於n+f(n-1)這樣的。但是這樣做的話遞迴的出口在哪呢,也就是我們不能使用條件語句來控制遞迴何時停止。

仔細想想還有什麼運算子可以達到條件控制的效果,這個時候【且】運算子就出現了,對於a&&b,當a為真時,才會執行到b;如果a為假,則b不會執行。

function sum_solution(n)

演算法練習篇之 求1 2 3 n

求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 累加不能用迴圈的話,那就試試遞迴吧。判斷遞迴的終止條件不能用 if 和 switch,那就用短路與代替。n 0 sum sum solution n 1 0只有滿足n ...

劍指offer 遞迴 求1 2 3 n

題目描述 求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 思路 使用遞迴f n f n 1 n,但是不能使用if進行遞迴出口的控制,因此利用python中and的屬性,即and判斷都為真的話輸出and後面的那個數字。...

建構函式 虛函式方法求1 2 3 n

題目 求1 2 十n,要求不能使用乘除法 for while if else.switch,case等關鍵字及條件判斷語句 a?b c 解法1 建構函式求解,建立n個該型別的例項,把累加放在建構函式裡做。class temp static void reset static unsigned int...