《劍指offer》 前n項和不准用通解和各種判斷

2021-09-22 17:23:42 字數 346 閱讀 7353

題目描述

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

這題目簡直沒事找事...為啥這麼說,因為沒有限制的話用等差數列求和公式直接算出結果,有限制的話是希望用遞迴的思想來做。但是明明有通式了還用遞迴做,又傻又費記憶體。

換個思路,先取log再e回去,這樣避免了乘法。除法的話因為只需要除以2,那就用移位操作。

提交發現有小數的坑,需要+0.5再取整。

class solution 

int multi(int a, int b)

};

《劍指offer》 前n項和不准用通解和各種判斷

題目描述 求1 2 3 n,要求不能使用乘除法 for while if else switch case等關鍵字及條件判斷語句 a?b c 這題目簡直沒事找事.為啥這麼說,因為沒有限制的話用等差數列求和公式直接算出結果,有限制的話是希望用遞迴的思想來做。但是明明有通式了還用遞迴做,又傻又費記憶體。...

求前N項和

再做以前的題目,發現解法其實好多種,雖然萬變不離其宗,可是收穫還是好多。時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 張彤彧 浙江大學 本題要求編寫程式,計算序列 2 1 3 2 5 3 8 5 的前n項之和。注意該序列從第2項起,每...

n個骰子 劍指offer

暴力求解,n個骰子和為s就等於n 1個骰子和分別為s 1 s 6時次數的總和。據此寫出 如下 int baoli int n,int s int count 0 count baoli n 1,s 1 baoli n 1,s 2 baoli n 1,s 3 baoli n 1,s 4 baoli n...