正确程序如下(可以通过比较寻找自己的错误):
Private Sub Command1_Click()
X = Text1.Text
For i = 2 To X - 1
If X Mod i = 0 Then
F = 1
Exit For
End If
Next i
If F = 1 Then
Label2.Caption = "你输入的数是" &X &",该数不是素数。"
Else
Label2.Caption = "你输入的数是" &X &",该数是素数。"
End If
End Sub
扩展资料:
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数否则称为合数。
根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。
目前为止,人们未找到一个公式可求出所有质数。
2016年1月,发现世界上迄今为止最大的质数,长达2233万位,如果用普通字号将它打印出来长度将超过65公里。
#include&ltstdio.h&gt
int sushu()
{
int i,leap=1int m
scanf("%d",&m)
for(i=2i&ltmi++){
if(m%i==0)/*判断条件为真时,即表示m存在1和自身以外的其他因数。
判断条件是为假时,即不会执行此if下的语句,leap值不变,仍为1,程序继续向下执行*/
{
leap=0break
}
}
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!
判断n是否为素数,可用n除以2到根号n之间所有的整数,除不尽则n为素数For a = 2 To Int(Sqr(n))
If n Mod a <>0 Then '余数不为0,则n为素数
isprime = True 'n为素数
Else
isprime = False 'n不为素数
Exit For '退出for循环
End If
Next a
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)