意大利莱卡滤水壶:1的平方+3的平方+……99的平方
来源:百度文库 编辑:查人人中国名人网 时间:2024/07/06 11:33:08
1的平方+3的平方+……99的平方
哪种算法最快。
哪种算法最快。
一般都会用for循环做的了,不过如果你要讲求算法效率的话,还是求出前N项和的通项公式是最快的。即:
a(n)=(2n-1)^2,求出S(n),然后取n=50(则2n-1为99)代入S(n)可得。
由于自然数前N项平方和公式为,S1(n)=n(2n+1)(n+1)/6
自然数前N项和为S2(n)=n(n+1)/2
又因为a(n)=(2n-1)^2=4n^2-4n+1
所以S(n)=4S1(n)-4S2(n)+n=(4n^3-n)/3
根据此公式编写函数如下:
long mysum(int n)
{
return (4*n*n*n-n)/3;
}
时间复杂度为O(1),如果要算99的,调用mysum(50)即可
PS:再送你一个用循环算的,时间复杂度为O(n)
sum=0;
for(i=1;i<=99;i+=2)
sum+=i*i;
楼上用VB、Basic和Pascal写的都不对,dim i的那个最后结果是99的平方,Pascal那个的结果是3的平方。
for i=1 to 99
a=i
for b= 1 to 99
b=b
c=a*b
next b
next i
print c
这是PASCAL的:
var
a:integer;
begin
a:=1;
a:=a+2;
write(a*a);
end.
好像是这样吧,好久不玩了。
#include "stdio.h"
main()
{int i,s;
s=0;
for(i=1;i<=99;i+=2)
s+=i*i;
printf("s=%d",s);
}
用的是什么语言啊
还是水晶高啊
1的平方+3的平方+……99的平方
1-2的平方+3的平方-4的平方……2003的平方
1的平方+2的平方……+98的平方+99的平方+100的平方=?;1的平方+2的平方……+999的平方+1000的平方=?
100的平方-99的平方+98的平方-97的平方....-1的平方=?
1的平方+2的平方+3的平方+……+100的平方=用c语言流程图表示
1的平方+2的平方+3的平方+……+2001的平方+2002的平方除以7的余数是?
1的平方+2的平方+3的平方+......+1999的平方
99的平方+99
2004的平方+2003的平方+……+1的平方
1的平方+2的平方……+22的平方怎么算?