求1/2+1/3+1/4.......的和

来源:互联网 发布:淘宝的宝贝详情在那 编辑:程序博客网 时间:2024/04/30 08:27

一定要注意在求1/i时分子应该写成1.00,否则所算出的结果只是0.

下面的例子是输入一个数,求出使1/2+1/3+1/4.......小于所输入的数的最大i。

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
 double a;
 int i;
 while(cin>>a ) 
 {
  if(a==0.00)
   break;
  float sum=0;
  i=1;
     while(a>sum)
  {
   i++;
   sum+=1.0/i;
  }
  cout<<i-1<<" card(s)"<<endl;
 }
}