問題闡述
在進(jìn)行程序設(shè)計(jì)時(shí),如果要求類似 1+2+…+n 的值,通常是使用 for、while、if、else、switch、case
等關(guān)鍵字以及條件判斷語句來實(shí)現(xiàn),但是本題要求不能使用這些關(guān)鍵字。該如何計(jì)算 1+2+…+n
的值呢?
達(dá)內(nèi)java培訓(xùn)專家解答
本題的要求限制了所有循環(huán)語句和條件判斷語句,但是唯獨(dú)沒有限制三元運(yùn)算符(?:),所以可以從這個(gè)運(yùn)算符著手,并利用遞歸實(shí)現(xiàn)循環(huán),從而完成計(jì)算
1+2+…+n 的值的功能。實(shí)現(xiàn)代碼如下:
運(yùn)行程序,將在控制臺(tái)輸出 1~100 連續(xù)整數(shù)的和,結(jié)果如圖 3.11 所示。
專家點(diǎn)評(píng)
本題考查讀者對(duì)基礎(chǔ)知識(shí)掌握的熟練程度,以及對(duì)知識(shí)的綜合應(yīng)用能力。由于本題限制了循環(huán)語句的使用,所以應(yīng)該想到遞歸可以實(shí)現(xiàn)循環(huán)的功能,因此可以考慮用遞歸實(shí)現(xiàn)計(jì)算
1+2+…+n 的值。