時間限制:1.0s 記憶體限制:512.0mb
問題描述
輸入乙個實數x,求最小的n使得,1/2+1/3+1/4+...+1/(n+1)>=x。
輸入的實數x保證大於等於0.01,小於等於5.20,並且恰好有兩位小數。你的程式要能夠處理多組資料,即不停地讀入x,如果x不等於0.00,則計算答案,否則退出程式。
輸出格式為對於乙個x,輸出一行n card(s)。其中n表示要計算的答案。
輸入格式
分行輸入x的具體數值
輸出格式
分行輸出n的數值,格式為n card(s)
樣例輸入
1.00樣例輸出3.71
0.04
5.19
0.00
3 card(s)#include61 card(s)
1 card(s)
273 card(s)
注意點:
1.判斷乙個浮點數是否為0,應該使用,這個數字和大於0且乙個比較小的數字來比較,例如這裡用的是1e-4,也就是10的-4次方,或者用10的-5次方也可以,
2.這裡求浮點數的和,最好使用double這樣比較精確,
3.關於==問題,應該選擇大於,不應該有相等的條件,
**實現:
#include
using namespace std;
int harmonicsequence(double x) while (x > sum);
n--;
return n - 1;//返回符合條件的最大n的值,因為這裡的n對應的是題目中的n+1,所以這裡返回n就可以了,
}int main()
return 0;
}
調和數列問題
題目描述 演算法訓練 調和數列問題 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入乙個實數x,求最小的n使得,1 2 1 3 1 4 1 n 1 x。輸入的實數x保證大於等於0.01,小於等於5.20,並且恰好有兩位小數。你的程式要能夠處理多組資料,即不停地讀入x,如果x不等於0.0...
演算法訓練 調和數列問題
問題描述 輸入乙個實數x,求最小的n使得,1 2 1 3 1 4 1 n 1 x。輸入的實數x保證大於等於0.01,小於等於5.20,並且恰好有兩位小數。你的程式要能夠處理多組資料,即不停地讀入x,如果x不等於0.00,則計算答案,否則退出程式。輸出格式為對於乙個x,輸出一行n card s 其中n...
演算法訓練 調和數列問題
輸入乙個實數x,求最小的n使得,1 2 1 3 1 4 1 n 1 x。輸入的實數x保證大於等於0.01,小於等於5.20,並且恰好有兩位小數。你的程式要能夠處理多組資料,即不停地讀入x,如果x不等於0.00,則計算答案,否則退出程式。輸出格式為對於乙個x,輸出一行n card s 其中n表示要計算...