最新消息:

niop习题-P1035 级数求和

C++ 少儿编程 1516浏览 0评论

题目描述

已知:Sn=1+1/2+1/3+…+1/n

显然对于任意一个整数K,当n足够大的时候,Sn > K

现给出一个整数K1k15),要求计算出一个最小的n;使得Sn>K

输入输出格式

输入格式:

一个正整数K

输出格式:

一个正整数N

输入输出样例

输入样例#1:

1

输出样例#1:

2

 

注解:

在做这道题的时候要注意,整数除以整数的结果仍然是整数,所以1除以任意非零整数的结果为0。

如果声明n为int类型,需要把S=S+1/n 写成 S=S+1.0/n。

 

代码:

 

#include<bits/stdc++.h>
using namespace std;int main(){
  int K, n=1;
  double S=1;
  cin >> K;
  while(S<=K){
    n++;
    S += 1.0/n;
  }
  cout << n;
  return 0;
}

 

您必须 登录 才能发表评论!