VB常用算法(3)素数

电脑杂谈  发布时间:2020-07-28 20:06:12  来源:网络整理

vb输出100以内的素数_vb超级素数_vb超级素数

VB通用算法(3)素数通用算法(1,算法描述,素数(素数): 是大于或等于2的整数,并且只能被1及其自身整除,而不能被其他整数整除一个整数是否为质数的经典算法是: 对于m,确定它是否可以由I依次从I = 2、3、4,...,m-1整除. 它们可以被整除,m不是质数,否则m是质数私有函数sushu(ByVal n As Long)As Boolean Dim i As Long for i = 2到n-1 If(n Mod i) = 0然后退出下一个I如果I = n,则sushu = True结束函数很显然,实际上,我们可以将For i = 2 To n – 1改进为: For i = 2 To int(sqr(m))这可以很好地提高效率. 上面的用于判断是否为素数的代码必须记住!上面的用于判断是否为素数的代码必须记住!应用示例在100-200内查找素数. Private Sub Command1_Cli ck()Dim j作为整数对于j = 100到200如果sushu(j)= True,则打印j End如果下一个j End Sub解决问题的技巧: 记住判断素数的算法过程,并根据问题的意思!编程问题示例(2002年春季计算机测试卷04)在10000中找到可以表示为两个平方数之和的所有素数.

想法: 首先找到10000内的所有素数,并判断每个素数是否可以表示为两个平方的和(即vb超级素数,对于任何小于素数shu的数I,如果I和shu-I为两个平方数,表示它可以表示为两个平方数的和. )判断数字I是否为平方数的方法: sqr(i)= int(sqr(i))Private Sub Command1_Click() Dim j作为整数Dim m长,n只要j = 2到10000如果sushu(j)= True,则如果pf(j,m,n)= True,则List1.AddItem j&“ =”&m&“ +“&n如果下一个结束,则结束如果下一个j结束子私有函数pf(ByVal shu As long,m As Long,n As Long)作为布尔Dim i只要I = 1到shu-1 If(Sqr(i)= Int(Sqr(i)))和(Sqr(shu-i)= Int(Sqr(shu-i)))然后pf = True m = in = shu-i退出函数End如果下一个End Function 2,练习, 1)补充代码(2002年春季,两(7)个),以下程序的功能是在四个正整数中查找超质数.

超级素数的定义是: 当素数从低到高去除一位数字时,剩余的数仍然是素数,则该数就是超级素数. 例如,数字2333、233、23和2都是质数,因此2333是超质数. 选项Explicit Private Sub Command1_Click()将I设为整数,将flg设为Boolean对于I = 1001至9999步骤2调用sup_prime(I,flg)如果flg然后Debug.Print I End如果下一个I End Sub Sub Private Sub sup_prime((1) ,F作为布尔值)Dim p作为整数F = TrueDo而N> 0如果prime(N)则(2)其他(3)退出子端如果循环结束子公共函数prime(p作为整数)如布尔值Dim k作为整数如果p = 1,则退出函数,如果k = 2,则退出Sqr(p)如果p Mod k = 0,则退出函数,然后进入k(4)如果结束,则结束函数2)编程问题(2004 Spring Computer Test Paper 03)随机生成15一个两位正整数vb超级素数,从中找到所有素数,记下它是哪个数字,然后找到其中最大的素数,并给出其位置.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-288786-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...