主题:求教阿
见鬼乐了
[专家分:0] 发布于 2007-07-27 16:26:00
求教阿!!!!!!!!!!!
如何判断素数????
回复列表 (共9个回复)
沙发
V2战警2 [专家分:390] 发布于 2007-07-27 16:29:00
input n
for i=1to sqr(n)
if n mod i=0 then f=1:exit for
next i
if f=1 then print "yes" else print "no"
end
板凳
见鬼乐了 [专家分:0] 发布于 2007-07-27 16:30:00
sqr是什么东东
3 楼
V2战警2 [专家分:390] 发布于 2007-07-27 16:31:00
sqr 是平方根函数。如25的平方根就是5
4 楼
V2战警2 [专家分:390] 发布于 2007-07-27 16:33:00
对了,你第六章看过了么???
5 楼
Matodied [专家分:7560] 发布于 2007-07-27 20:45:00
1楼的程序是错的。
你不管输入什么整数输出的结果都是“Yes”!!!!
因为你的初值应该是2,不是1。(要记住:任何整数都是1的倍数)
正确的:
CLS
INPUT n
f=1
FOR i=2 TO INT(SQR(n))
IF n MOD i=0 THEN f=0:EXIT FOR
NEXT i
IF f THEN PRINT"Yes" ELSE PRINT "No"
END
6 楼
yaoyusheng [专家分:460] 发布于 2007-07-27 21:23:00
给你一个求100以内所有质数的程序吧:
Function f(n)
m = Sqr(n)
For i = 2 To m
If n Mod i = 0 Then Exit For
Next i
If i > m Then
f = 1
Else
f = 0
End If
End function
i = 0
For x = 2 To 100
If f(x) = 1 Then
i = i + 1
Print x;
If i Mod 12 = 0 Then Print
End If
Next x
End
弄懂这个程序后你就什么也会了.
7 楼
yaoyusheng [专家分:460] 发布于 2007-07-27 21:52:00
这是你要的程序
Private Sub Form_click()
n = InputBox("请输入自然数n:")
a = Int(Sqr(n))
For i = 2 To a
If n Mod i = 0 Then Print "n不是素数": GoTo 10
Next i
Print "n为素数"
10 End Sub
8 楼
yaoyusheng [专家分:460] 发布于 2007-07-27 21:52:00
sorry,上面是VB的,你把它改一下吧.
9 楼
wzc1996 [专家分:1680] 发布于 2007-07-28 08:19:00
CLS
INPUT n
a=1
FOR i=2 TO INT(SQR(n))
IF n MOD i=0 THEN a=0 :EXIT FOR
NEXT i
IF a=1 THEN PRINT"Yes" ELSE PRINT "No"
我来回复