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