已知:sn= 1+1/2+1/3+…+1/n。顯然對於任意乙個整數 k,當 n 足夠大的時候,sn 大於 k。
現給出乙個整數 k(1<=k<=15),要求計算出乙個最小的 n;使得 sn>k。
輸入k。
輸出n。
1
2
思路:
整體思路:
sn = 1 + 1/2 + 1/3 + … + 1/n
要得到乙個最小的 n,使得 sn > k。n 從 1 開始取,當 sn 小於等於 k 時,一直讓 1/n 加到 sn 中,並且 n 增加 1。
具體步驟:
1.定義乙個 k,輸入 k。
2.定義乙個 double 型的變數 s,用來代表 sn,並初始化為 0。
3.定義乙個 int 型的變數 n,作為每一項的分母,並初始化為 1。
4.當 s <= k 時,做以下操作:
將 1/n 累加到 s 中
n 加 1
while (s <= k)
5.輸出最小的使得 sn > k 的 n 的值。
// 當最後乙個 n++ 執行使得 s > k 時,此時能使 s <= k 成立的是 n - 1,
// 而不是 n,因為 s 加完之後,n 多加了一次
cout << n - 1;
思考:
若希望最後 n 是最後的結果,則應該怎樣改進?
完整**:
#include using namespace std;
int main()
// 當最後乙個 n++ 執行使得 s > k 時,此時能使 s <= k 成立的是 n - 1,
// 而不是 n,因為 s 加完之後,n 多加了一次
cout << n - 1;
return 0;
}
小韋老師 NOIP 普及組 2005 陶陶摘蘋果
描述 陶陶家的院子裡有一棵蘋果樹,每到秋天樹上就會結出 10 個蘋果。蘋果成熟的時候,陶陶就會跑去摘蘋果。陶陶有個 30 厘公尺高的板凳,當她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。現在已知 10 個蘋果到地面的高度,以及陶陶把手伸直的時候能夠達到的最大高度,請幫陶陶算一下她能夠摘到的蘋果...
NOIP 2002 普及組 數字遊戲
題目鏈結 題目分析 這道題是一道區間dp題,跟能量項鍊還有石子合併差不多,我們用f i j l 表示處理i到j這一區間分為l段所能得到的最大值或是最小值。具體看 程式 include include include include include using namespace std int n,...
NOIP2002 普及組 選數
題目描述 已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 19 38 3 12 1...