主题:有人能帮我吗
guhongqiu
[专家分:0] 发布于 2005-04-10 21:39:00
我是新手,哪位高人能帮我解:输出3——100的全部素数
回复列表 (共7个回复)
沙发
methuselah [专家分:6840] 发布于 2005-04-10 21:56:00
搜下贴,以前有讲过这个问题
板凳
QB乖乖女 [专家分:0] 发布于 2005-04-10 22:46:00
这个是判断N是不是素数的,你在自己看看~
input "n=";n
k = int(SQR(n))
f = 0
for i% = 2 to k
if n mod i% = 0 then
f = 1
exit for
endif
next i%
if f = 0 then
print n ; "是素数"
else
print n ; "不是素数"
endif
end
3 楼
litboat [专家分:140] 发布于 2005-04-11 16:50:00
先开个玩笑
?"以下是3-100的质数:"
?
?"3 5 7 11 13 17 19 23 29 31
?"37 41 43 47 53 59 61 67 71 73
?"79 83 89 97
END
4 楼
litboat [专家分:140] 发布于 2005-04-11 16:54:00
一般思路是这样的:
先建立一个循环,比如:
For i=3 to 100
然后对于每一个i,比如i=53
判断从2到i的平方根(i=53时,就是2到7)是否能被i整除
如果都不能,那么i就是质数,则打印
具体程序请自己考虑
5 楼
lwm1988 [专家分:90] 发布于 2005-08-28 20:41:00
PRINT "3-100 de shu shu :"
FOR i = 3 TO 100
n = 0
FOR j = 2 TO SQR(i)
IF i MOD j = 0 THEN n = 1
NEXT j
IF n = 0 THEN PRINT i,
NEXT i
END
你可一定要为我加分的哦。
6 楼
staa [专家分:3690] 发布于 2005-09-01 23:18:00
素数的问题在QB的算法练习中是一个常常用到的例子。围绕它,出现了多个很有意思的算法。好象板斧MOZ也专门做了专题(显然是借鉴了本人的思路,呵呵)。
http://www.programfan.com/club/showbbs.asp?id=44117
http://www.programfan.com/club/showbbs.asp?id=45600
(2楼的贴)
绕来绕去,还是筛法最直观,效率也很高(不敢说它的效率最高)。楼主有兴趣的话可以用筛法来解。
7 楼
spray [专家分:180] 发布于 2005-09-02 05:20:00
建议:请在标题中具体、明确点明主题,最好不用“小菜问题”、“跪求”之类的模糊标题。
我来回复