我是Qbasic的新手,想要学习如何将素数从1打印到一个变量,该变量被设置为用户输入的数字。 请帮忙... 我尝试使用do while循环,但它不起作用。 感谢
答案 0 :(得分:1)
我回答你的问题作为指导:
您需要找到输入数字的有效分隔符(n
):
n
的有效分隔符:
如果有一个小于n/2
或n MOD i = 0
的数字,则除以其净值为零;
n
。
现在,使用其中一种方法查找素数:
n/2
或sum = 1
的有效分频器为1;
n
n/2
或count = 1
为1;
<SuggestedReadings>
<Suggestion Text="Customer Centricity" Link="http://wdp.wharton.upenn.edu/book/customer-centricity/?utm_source=Coursera&utm_medium=Web&utm_campaign=custcent" SuggBy="Pete Fader�s" />
<Suggestion Text="Global Brand Power" Link="http://wdp.wharton.upenn.edu/books/global-brand-power/?utm_source=Coursera&utm_medium=Web&utm_campaign=glbrpower" SuggBy="Barbara Kahn�s" />
</SuggestedReadings>
答案 1 :(得分:1)
这很容易。所有你需要做的就是运行一个嵌套循环。用于检查数字是否为素数的循环以及用于显示数字的循环。
CLS
INPUT "enter a range"; a
FOR i = 1 TO a
FOR j = 1 TO i
IF i MOD j = 0 THEN
check = check + 1
END IF
NEXT j
IF check = 2 THEN
PRINT i
END IF
check = 0
NEXT i
END
答案 2 :(得分:0)
此代码片段计算从2到较高范围的素数。
它的工作原理是将测试值除以2中的所有数字到上限范围的平方根。
PRINT "Upper value";
INPUT n
FOR l = 2 TO n
f = -1
FOR m = 2 TO INT(SQR(l))
IF l / m = l \ m THEN
f = 0
EXIT FOR
END IF
NEXT
IF f THEN
PRINT l
END IF
NEXT