99智能网
新记
1×1/2+2×1/3+3×1/4+…199×1/200= 简便算法
如题所述
举报该文章
其他看法
第1个回答 2007-05-18
其实这道题就是两个两个求嘛。先求1*1/2+2*1/3,算出是5/6,再把
5/6+3*1/4=5/6+3/4=(5*4+3*6)/(4*6),然后约分,再加下一个,以此类推。
其实约分可用欧几里德的辗转相除法求最大公约数。。
//求a,b的最大公约数,这个时间复杂度是O(logn)的。
function gcd(a,b):longint;
begin
if a mod b=0 then gcd:=b
else gcd:=gcd(b,a mod b)
end;
第2个回答 2007-05-18
下面可以少一些乘法:
(1-1/2)+(1-1/3)+(1-1/4)+……+(1-1/200)=199-(1/2+1/3+1/4+……1/200)本回答被提问者采纳
第3个回答 2007-05-18
#include<stdio.h>
#include<math.h>
void main()
{
float sum=0;
for(int 1=1;i<200;i++)
sum+=i/(i+1.0);
printf("/n%f",sum);
printf("/n");
}
相似回答
大家正在搜
相关问题
1×1/2+2×1/3+4×1/5。……加199×1/200...
简算。 1.1/1×2+1/2×3+1/3×4+1/4×5+...
1/2*3+1/3*4+……+1/199*200 (1/2+...
1/1*2+1/2*3+1/3*4+1/4*5+……+1/1...
1×2分之1+2×3分之1+3×4分之1+4×5分之1………...
1+1/(1+2)+1/(1+2+3)+1/(1+2+3+4...
1×1/2+2×1/3+3×1/4+4×1/5……+99×1...
1*1/2+1/2*1/3+1/3*1/4+....+1/1...