#include<stdio.h>
int sushu()
{
int i,leap=1;int m;
scanf("%d",&m);
for(i=2;i<m;i++){
if(m%i==0)/*判断条件为真时,即表示m存在1和自身以外的其他因数。
判断条件是为假时,即不会执行此if下的语句,leap值不变,仍为1,程序继续向下执行*/
{
leap=0;break;
}
}
if(leap==1){
return leap;
}
}
int main()
{
switch(sushu())
{
case 1:
printf("Prime!\n");
break;
case 0:
printf("Not Prime!\n");
break;
}
return 0;
}
在主函数中输入一个大于1的正整数,通过调用这个函数,输出该数是否为素数的信息。
如果该数为素数,输出信息为:
Prime!
若该数不为素数,则输出信息为:
Not Prime!
输入输出在主函数中进行
输入描述
输入一个大于1的正整数。
输出描述
对输入的正整数进行素数的判定:
如果该数为素数,输出信息为:
Prime!
若该数不为素数,则输出信息为:
Not Prime!
输出信息单独占一行。
输入样例
18
输出样例
Not Prime!
Option Explicit
Dim A As Boolean, i As Long
Dim n As Long
Dim St As String
Private Sub Form_Load()
Form1.AutoRedraw = True
St = InputBox("一个任意数(若<2将退出)", "输入", "100")
If St = "" Then Exit Sub
n = Int(Val(St))
If n < 2 Then Exit Sub
For i = 2 To n - 1
If n Mod i = 0 Then
A = False
Exit For
Else
A = True
End If
Next
If A Then
Print n; "是素数"
Else
Print n; "不是素数"
End If
End Sub
我已经 辛苦 运行过。
Private Sub form_load()
a = Val(InputBox("输入一个正整数:"))
If a = 1 Then MsgBox "1不是素数": Exit Sub '排除例外的1For i = 2 To Sqr(a)
If a Mod i = 0 Then MsgBox a & "不是素数": Exit Sub '如果能被1和自己之外的数整除则不是素数
Next i
MsgBox a & "是索数"
End Sub
Private Sub form_load()
a = Val(InputBox("输入一个正整数:"))
If a = 1 Then MsgBox "1不是素数" Exit SubFor i = 2 To Int(Sqr(a))
If a Mod i = 0 Then MsgBox "不是素数": Exit Sub Next i
MsgBox a & "是素数"
End Sub