求1+1/2+1/4+1/7+1/11+1/16+1/22+.......的值,直到最后一项的值小于10-5。

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:07:31

#include<stdio.h>
main()
{
int i=0;
float t,s=0;
for(t=1;t<=100000;i++,t+=i)
{
s+=1.0/t;
}
printf("%f",s);
}

10-5 它的倒数就是100000

int t,i,s;
for(t=1,s=0,i=0;t<=100000;i++,t+=i)
{
s+=1.0/t;
}

输出s就可以了

把式子看成是
1/a1 + 1/a2 +1/a3 +...+1/an ,当an小于10-5时停止。
算法:
a1 =1
a2=a1+1
a3= a2+2
...
a(n)= a(n-1)+n -1

这样,用一个循环就可以完成

一楼是正确的,这个方法不错

#include <iostream.h>
int main(){
int i,j;
double sum=1;
i=1;j=1;
while(1.0/i>=1e-5){
i+=j++;
sum+=1.0/i;
}
cout<<sum<<endl;
return 0;
}//这样可以么,呵呵,输出结果是2.36919