• 蓝桥杯 调和数列问题


    问题描述
      输入一个实数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)
    61 card(s)
    1 card(s)
    273 card(s)

    复习一下如何判断一个浮点数是否等于0

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main() {
     4     double x;
     5     while (cin >> x && fabs(x) > 1e-4) {
     6         double n = 2;
     7         double sum = 1 / n;
     8         while (sum < x) {
     9             n++;
    10             sum += 1 / n;
    11         }
    12         cout << n - 1 << " card(s)" << endl;
    13     } 
    14     return 0;
    15 }
  • 相关阅读:
    webservice+linq
    Javascript之四
    HTML、CSS、JS课后习作——痛风诊断APP源代码
    HTML、CSS、JS课后习作——痛风诊断APP
    Javascript之三
    Javascript之二
    Javascript之一
    CSS(之五)
    CSS(之四)
    CSS(之三)
  • 原文地址:https://www.cnblogs.com/fx1998/p/12695632.html
Copyright © 2020-2023  润新知