主题:编程求1到N的偶数之和,感谢
gwj0574
[专家分:0] 发布于 2008-01-07 21:30:00
[color=FF0000][size=1]编程求1到N的偶数之和,非常感谢[/size][/color]
最后更新于:2008-01-07 21:33:00
回复列表 (共7个回复)
沙发
p1s [专家分:4100] 发布于 2008-01-07 21:49:00
dim sum,i,N
sum=0
input n
for i=2 to N step 2
sum=sum+i
next i
print sum
end
板凳
wanshibo121 [专家分:30] 发布于 2008-01-08 13:00:00
cls
input n
for i=1 to n
if i mod 2 =0 then s=s+i
next i
print s
end
3 楼
taoanran123 [专家分:20] 发布于 2008-01-08 19:59:00
cls
input n
a = 0
for i = 1 to n
a = a + i *2
next i
print "a =";a
end
4 楼
强强 [专家分:4740] 发布于 2008-01-08 20:01:00
新手,加油啊
5 楼
moz [专家分:37620] 发布于 2008-01-08 21:43:00
在这个问题上(都看不见人烟了,还不吭吭声还真感觉不到自己活着的证据了)
应该想想更多的一些办法和途径:
题目上可知:某一区间段的偶数,是一个等差数列,
在初中学梯形面积和三角形的时候有一个公式,就是一个等差数列求和的公式:
=(上底+下底)x高/2
区间: [1,N]
首先可以确定上底是2,(第一个偶数)
那么下底是多少?
有两种情况:
A.N是奇数,那么下底就是N-1
B.N是偶数,那么N就是下底
高如何确定?
可以假设一下,
假如N是4,那么只有两个偶数,高就是2
假如N是7,于是便有三个偶数,高就是3
因为连续的自然数当中,偶数占一半,
偶数的个数肯定就是N的一半,而且是从1开始的,
区别就是偶数与奇数个数相等,还是奇数多一个了,
依此类推,其实高=N\2
三个参数都有了,但有了计算过程的初步模型了:
if N mod 2 =1 then '[color=ff00ff]当N是奇数的时候[/color]
S=(2+N-1)*((N-1)/2)/2 '[color=ff00ff]套用梯形面积公式(等差数列求和)[/color]
else '[color=ff00ff]当N是偶数的时候[/color]
S=(2+N)*(N/2)/2
endif
综合一下,我们做成函数的形式(平时解决问题要有这种想法)
function S2S(N)
S2S=[color=0000ff]((2+N)\2)*(N\2) '[color=ff00ff]把处理做进式子里,得出的结果是相同的[/color]
end function
6 楼
强强 [专家分:4740] 发布于 2008-01-14 17:23:00
MOZ你是哪个大学毕业的?
7 楼
moz [专家分:37620] 发布于 2008-01-15 17:02:00
我连高中都没上.
我来回复