一道算法题,求大家解答一下 我叫你baba IT技术之家 2020/3/6 20:29 403 0 0 用C++语言编程计算s=1+1/2+1/4+1/7+1/11+1/16+1/22+...,直到最后一项的值小于1E-5为止,用while语句编写程。。。
#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
#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