主题:各位高手们请帮我一个忙
kele126
[专家分:60] 发布于 2005-03-26 05:56:00
请问求从1到100的质数的和用QB怎么写啊![em18]
回复列表 (共21个回复)
沙发
飞鸟12 [专家分:2830] 发布于 2005-03-26 10:19:00
CLS
DIM a(100)
FOR i = 1 TO 100 '求质数
a(i) = i
NEXT i
a(1) = 0: i = 2
DO
j = i 'a(2)=2,a(4)=0,a(6)=0,a(8)=0……
DO
a(i + j) = 0
j = j + i 'a(3)=3,a(6)=0,a(9)=0,a(12)=0……
LOOP UNTIL i + j > 100
DO
i = i + 1 'a(5)=5,a(10)=0,a(15)=0,a(20)=0……
LOOP UNTIL a(i) <> 0
LOOP UNTIL i >= 50
' ……
sum = 0
FOR i = 1 TO 100 '求质数之和
sum = sum + a(i)
NEXT i
PRINT "SUM="; sum
板凳
qbqb [专家分:400] 发布于 2005-03-26 11:44:00
for i=2 to 100
for j=1 to i
if i mod j=0 then n=n+1
if n=2 then s=s+i
next j
n=0
next i
print s+1
3 楼
阿珠 [专家分:100] 发布于 2005-03-26 16:12:00
s=0
for i= 1 to 100
for j=2 to i-1
if i mod j=0 then m=m+1
next j
if m=0 then s=s+i
next i
? "一百之内的质数之和为";s
4 楼
88324837 [专家分:490] 发布于 2005-03-26 17:02:00
请问什么是质数,质数和素数是不是一样的,一样的话2楼和3楼的都错了因为2也是质数,而且3楼的朋友的错误很多啊
5 楼
qbqb [专家分:400] 发布于 2005-03-26 17:52:00
只能被一和它本身整除的数称为质数。2,3楼的没有错
6 楼
kele126 [专家分:60] 发布于 2005-03-27 00:23:00
质数的概念五楼那位朋友说的就是.
还有,素数也就是质数.
不过,1,2,3楼的朋友,很不好意思,你们费了劲给写出来了,可依我现在的水平,我发现自己看不懂,因为我刚学,好多命令都还不知道,我问是因为我想知道怎么解那题,我很想学的,我感觉编程很意思,我现在会好好去学的,绝不会让你们的心思白费的.
不管怎么我第一次发帖子,就有你们的支持,我已经满足了,非常感谢你们!给你们的评分也只能到那里了!在这儿我希望以后你们都能多的指教我一下!
7 楼
88324837 [专家分:490] 发布于 2005-03-27 08:24:00
2楼和3楼的是写错了,因为他们忽略了一个 2 因为2也是质数,如果题目不是求1~100的和2楼和3楼的是对的我们要在这里加一个条件
for a=1 to 100
y=0
for b=2 to a-1
if a mod b =0 then y=1
next b
if a=2 or y<>1 then c=c+a
next a
print c
end
这样才是正确的[em16]
8 楼
faintzw [专家分:2660] 发布于 2005-03-27 08:58:00
to楼主
求1~100的质数和,必然要先求出1~100的质数
判断一个数n是否是质数,可以判断它是否可以被2~sqrt(n)中任一个数整除(2除外),如果能整除,则必不是质数,如果全部不能整除,则是质数,累加到一个变量sum上。对1~100的数进行上述过程,则sum就是最后结果
9 楼
qbqb [专家分:400] 发布于 2005-03-27 10:07:00
7楼的,2楼的程序并没有忽略2
10 楼
faintzw [专家分:2660] 发布于 2005-03-27 11:13:00
2楼的用的是筛法,效率比普通的质数判断要高
我来回复