主题:[讨论]急!·求助~循环结构题
sxf242301661
[专家分:0] 发布于 2006-06-18 08:44:00
打印出100到999中的所有素数~
怎么办?请各位帮我 啊~~
回复列表 (共4个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2006-06-19 12:42:00
这个似乎不难啊,关键也不是结构。
for i=100 to 999
for j=2 to sqr(i)
flg=1
if int(i/j)=i/j then
flg=0
exit for
endif
next j
if flg then ? i
next i
end
板凳
moz [专家分:37620] 发布于 2006-06-19 14:00:00
1. flg=1应该放在两个for的中间可以省略若干次的赋值运算
2. int(i/j)=i/j 这表达式作了两次重复的除法运算,一次取整运算
一般情况下都是用取模运算 i mod j = 0 来代替
3 楼
老大徒伤悲 [专家分:29120] 发布于 2006-06-19 19:45:00
副版主说的两点都是对的。
原因:
其中第一点,是插入语句时的手误。
第二点,是二十年来养成的不良思维习惯。
教训:
1、仔细,仔细,再仔细;
2、思考,思考,再思考。
4 楼
JRX [专家分:180] 发布于 2006-06-20 13:15:00
打印出100到999中的所有素数:
我的做法:
CLS
FOR I=100 TO 999
F=1
FOR J=2 TO INT(SQR(I))
IF I MOD J=0 THEN F=0:EXIT FOR
NEXT J
IF F=1 THEN ? I,
NEXT I
我来回复