1的平方+3的平方+……99的平方

来源:百度知道 编辑:UC知道 时间:2024/06/07 05:56:47
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);
}

用的是什么语言啊

还是水晶高啊

S=1平方-2平方+3平方-4平方+5平方-……+99平方-100平方+101平方,求S被103除的余数 1的平方+3的平方+……99的平方 1-2的平方+3的平方-4的平方……2003的平方 算术题目1的平方-2的平方+3的平方-4的平方+…+2001的平方-2002的平方+2003的平方等于多少 1的平方+2的平方+3的平方+……+2006的平方+2007的平方等于几? 1的平方-2的平方+3的平方+……+2007的平方-2008的平方 2006的平方—2005的平方+2004的平方—2003的平方+2002的平方—2001的平方+…+2的平方—1的平方 1的平方+2的平方……+98的平方+99的平方+100的平方=?;1的平方+2的平方……+999的平方+1000的平方=? 100的平方—99的平方+98的平方—97的平方+96的平方—95的平方+……+2的平方—1的平方=?(用平方差公式) 100的平方-99的平方+98的平方-97的平方....-1的平方=?