投稿 资料上传 提问 搜索
您现在的位置是: 首页 > 问答 > 正文

一道算法题,求大家解答一下

用C++语言编程计算s=1+1/2+1/4+1/7+1/11+1/16+1/22+...,直到最后一项的值小于1E-5为止,用while语句编写程。。。

问题回复
  1. 剪剪清风
    剪剪清风IT技术之家

    #include <iostream>
    #include "math.h"
    using namespace std;
    int main()
    {
    double i=1,j=0,sum=0,date =0,flg =0;
    const double e=2.7182818; //一般都只能精确到小数点后7位
    flg = pow(e,-5);
    do
    {
    i=i+j;
    date = 1/i;
    sum =sum+date;
    j=j+1;
    }
    while(date>=flg) ; // 1/i>0.00001
    cout<<sum<<endl;
    return 0;
    }
    结果为2.26277  

    回复
  2. 简讯
    简讯IT技术之家

    #include<iostream>
    using namespace std;
    int main()
    {
    float i=1,j=0,sum=0;
    do
    {
    i=i+j;
    sum =sum+1/i; //i系列以1,2,4,7,.....看它们的差很有规律
    j=j+1;
    }while(i<100000); // 1/i>0.00001
    cout<<sum<<endl;
    }
    是不是这样,结果是2.36919      

    回复