ブルーブリッジカップの高調波シーケンスの問題

問題の説明
  実数xを入力し、1/2 + 1/3 + 1/4 + ... + 1 /(n + 1)> = xとなるような最小のnを見つけます。
  入力実数xは、0.01以上、5.20以下であることが保証されており、小数点以下2桁です。プログラムは、複数のデータセットを処理できる必要があります。つまり、xが0.00に等しくない場合は、ノンストップでxを読み取り、答えを計算します。それ以外の場合は、プログラムを終了します。
  出力フォーマットは、xに対してnカード(s)の行を出力することです。ここで、nは計算される答えを表します。
入力フォーマット
  xの特定の値を別の行に入力します
出力フォーマット
  nの値は、nカード(s)の形式で別の行に出力されます。
入力例
1.00 
3.71 
0.04 
5.19 
0.00

出力例

3枚のカード
61枚のカード
1枚のカード
273枚のカード

浮動小数点数が0に等しいかどうを判断する方法を確認する

1 #include <bits / stdc ++。h>
 2  名前空間std を使用 3 int main(){
 4 double x;
5 while(cin >> x && fabs(x)> 1e- 4 ){
 6 double n = 2 ;
7 二重和= 1 / n;
8 while(sum < x){
 9              n ++ ;
10              合計+ = 1 / n;
11         }
 12          cout << n- 1                                       << " カード" << endl;
13      } 
 14      return  0 ;
15 }

 

おすすめ

転載: www.cnblogs.com/fx1998/p/12695632.html
おすすめ