
文档简介:
VB通用算法素数
I. 算法说明
素数(素数): 是一个大于或等于2的整数,只能被1及其自身整除,而不能被其他整数整除.
判断某个数字m是否为质数的经典算法是:
对于m,从I = 2,3,4,...,m-1依次判断是否可以被I整除. 只要其中一个可以被整除,m就不是质数,否则m是质数.
私有函数sushu(ByVal n As Long)As Boolean
我只要很久
对于i = 2到n-1
如果(n Mod i)= 0,则退出
下一个我
如果I = n,则sushu = True
结束功能
很明显,事实上,我们可以改善上述情况
对于i = 2到n – 1
是:
对于i = 2到int(sqr(m))
这可以大大提高效率.
上面的判断数字是否为质数的代码必须记住!
二,应用示例
找到100-200之间的质数.
私人mand1_Click()
将j设为整数
对于j = 100到200
如果sushu(j)= True,则打印j
下一个j
结束子
三,解决问题的能力
记住判断质数的算法过程,并根据问题的含义灵活地调用它!
四个. 示例说明
编程问题(2002年春季试卷04)
查找所有可以表示为两个平方和的10000以内的质数.
想法:
首先找到10000以内的所有素数,并判断每个素数是否可以表示为两个平方数的和(即,对于任何小于素数shu的数I,如果I和shu-I都为平方数vb超级素数,这意味着它可以表示为两个平方数的和. )
判断数字I是否为平方数的方法: sqr(i)= int(sqr(i))
私人mand1_Click()
将j设为整数
昏昏欲睡,n漫长
对于j = 2到10000
如果sushu(j)= True,那么
如果pf(jvb超级素数,m,n)= True则
List1.AddItem j&“ =”&m&“ +”&n
如果结束
如果结束
下一个j
结束子
私有函数pf(ByVal shu As long,m As Long,n As Long)作为布尔值
我只要很久
对于i = 1到shu-1
如果(Sqr(i)= Int(Sqr(i)))和(Sqr(shu-i)= Int(Sqr(shu-i)))然后
pf =真
m = i
n = shu-i
退出功能
如果结束
下一步
结束功能
五个. 实践实践
1. 完成填充空白的步骤(2002年春季2(7))
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-288784-1.html
啊啊啊啊啊啊啊
再个地方政府保护当地企业也很正常
更不能剥夺狗叫的权利