回 帖 发 新 帖 刷新版面

主题:各位高手们请帮我一个忙

请问求从1到100的质数的和用QB怎么写啊![em18]

回复列表 (共21个回复)

沙发

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

板凳

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 楼

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 楼

请问什么是质数,质数和素数是不是一样的,一样的话2楼和3楼的都错了因为2也是质数,而且3楼的朋友的错误很多啊

5 楼

只能被一和它本身整除的数称为质数。2,3楼的没有错

6 楼

质数的概念五楼那位朋友说的就是.
    还有,素数也就是质数.
    不过,1,2,3楼的朋友,很不好意思,你们费了劲给写出来了,可依我现在的水平,我发现自己看不懂,因为我刚学,好多命令都还不知道,我问是因为我想知道怎么解那题,我很想学的,我感觉编程很意思,我现在会好好去学的,绝不会让你们的心思白费的.
    不管怎么我第一次发帖子,就有你们的支持,我已经满足了,非常感谢你们!给你们的评分也只能到那里了!在这儿我希望以后你们都能多的指教我一下!

7 楼

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 楼

to楼主

求1~100的质数和,必然要先求出1~100的质数
判断一个数n是否是质数,可以判断它是否可以被2~sqrt(n)中任一个数整除(2除外),如果能整除,则必不是质数,如果全部不能整除,则是质数,累加到一个变量sum上。对1~100的数进行上述过程,则sum就是最后结果

9 楼

7楼的,2楼的程序并没有忽略2

10 楼

2楼的用的是筛法,效率比普通的质数判断要高

我来回复

您尚未登录,请登录后再回复。点此登录或注册