回 帖 发 新 帖 刷新版面

主题:[讨论]急!·求助~循环结构题

打印出100到999中的所有素数~

怎么办?请各位帮我 啊~~

回复列表 (共4个回复)

沙发

这个似乎不难啊,关键也不是结构。
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

板凳

1. flg=1应该放在两个for的中间可以省略若干次的赋值运算
2. int(i/j)=i/j 这表达式作了两次重复的除法运算,一次取整运算
   一般情况下都是用取模运算  i mod j = 0 来代替

3 楼

副版主说的两点都是对的。

原因:
其中第一点,是插入语句时的手误。
第二点,是二十年来养成的不良思维习惯。

教训:
1、仔细,仔细,再仔细;
2、思考,思考,再思考。

4 楼

打印出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

我来回复

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