vb判断素数的程序代码(vb中判断素数)

http://www.itjxue.com  2023-03-18 22:49  来源:未知  点击次数: 

vb判断素数

正确程序如下(可以通过比较寻找自己的错误):

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公里。

判断一个数是否为素数的vb程序代码是什么?

#includelt;stdio.hgt;

int sushu()

{

int i,leap=1;int m;

scanf("%d",m);

for(i=2;ilt;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!

vb中判断质数的程序

Private Sub Command1_Click()

Dim n As Integer, i As Integer

n = Val(InputBox("输入一个大于1的正整数"))

For i = 2 To n - 1

If n Mod i = 0 Then Exit For

Next i

If i n - 1 Then

Print n; "是质数"

Else

Print n; "不是质数"

End If

End Sub

vb编写程序,从键盘输入一个数,判断输入的数是否素数。

Private?Sub?Command1_Click()

????Dim?n?As?Long

????n?=?Val(InputBox("请输入要判断的大于0的数:"))

????If?n??1?Then?MsgBox?"你输入的是0":?Exit?Sub

????If?zhi(n)?Then?MsgBox?"是素数"?Else?MsgBox?"不是素数"

End?Sub

Private?Function?zhi(x?As?Long)?As?Boolean

????Dim?b?As?Single,?i?As?Long,?f?As?Long

????For?i?=?2?To?x?-?1

????????If?x?Mod?i?=?0?Then

????????????f?=?1:?Exit?For

????????End?If

????Next

????If?f?=?1?Then?zhi?=?False?Else?zhi?=?True

End?Function

判断素数的vb程序代码

人家是要在*******处填入代码,而不修改其他地方,楼上虽然方法对的,但是添加了一个布尔型变量,用以判断,不符合题意。

其实题目的思路是这样的:

从2开始到比x小1的数字,如果x可以被其中一个数整除,那么x就不是素数,这是跳出循环,i应该比x小,否则当i=x的时候,循环结束,这是x就是素数,i应该等于x

所以:

i=x 是素数

ix 不是素数

因此,***** 处填入

i=x

VB程序设计:判断一个数是否为质数(素数)。

原则上是要判断是否能被一个不是1和本身的数整除。

简单的方法是从2到本身-1的数做为除数进行循环不,逐一判断能否整除,出现整除情况即断定非质数。但这种方法的计算量较大,因为有些数是明显不用的,如大于本身2分之一的,处于3分之一到2分之一之间的,等等。

优化的方法是:

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim num As Integer

Dim i As Integer = 2

If IsNumeric(TextBox1.Text) Then

num = CInt(TextBox1.Text)

Dim j As Integer = num

If num 2 Then

While i j

Dim k As Integer = num / i

Dim a As Double = CDbl(num) / CDbl(i)

If System.Math.Abs(a - k) 1.0E-20 Then

Label1.Text = num.ToString + "不是质数"

Exit While

Else

j = CInt(a) + 1

i += 1

End If

End While

If i = j Then

Label1.Text = num.ToString + "是质数"

End If

ElseIf num = 2 Then

Label1.Text = num.ToString + "是质数"

End If

Else

Label1.Text = "输入数据有误"

End If

End Sub

(责任编辑:IT教学网)

更多

推荐其它软件文章