vb编程题 输出3到100之间所有的质数 (质数:只能被1和它本身整除的数)
人气:396 ℃ 时间:2019-08-21 19:34:48
解答
Private Sub Command1_Click()For i = 3 To 100For j = 2 To Sqr(i)If i Mod j = 0 Then Exit ForNextIf j > Int(Sqr(i)) Then s = s & i & " "NextMsgBox sEnd Submod 函数作用是求余数
判断i是否为质素,就是判断从2开始到i,除i自身外有没有数能和i整除 余数为0 就是能整除
为了减少不必要的判断 循环到 i 平方根 就可以了 再上面就根本不会有满足整除的数
如果求余数为0 则退出循环 此时的j变量值 一定是小于或等于 循环的终止值 sqr(i)
如果在j循环里 找不到 If i Mod j = 0 Then Exit For 满足这个条件的数 当退出j循环时
j值等于 srq(i)+1会大于 srq(i) 故判断j 值大小 就知道 这个i 是否为质素
推荐
猜你喜欢
- a、b均为合数,它们的最小公倍数是ab,它们的最大公因数是[],a如果是12,b最小是[]
- 一批零件共840个,如4天后,甲加
- 关于长城的故事,传说,成语,谚语,民歌和民谣有什么?
- 人教版小学三年级数学下册新课程新练习第72页第三题如何计算?
- 谁能用假日.漆黑.无影无踪.犹豫这几个词造句
- 1.The film ______ fun.A.is full withB.is filled ofC.is filled withD.is fulled of
- 修一条水渠,甲、乙两队合修10天可以完成.两队合修4天后,余下的由甲队单独修还需要12天完成,乙队单独
- 如图,AC、BD是四边形ABCD的对角线,E、F分别是AD、BC的中点,M、N分别BD、CA的中点.求证:EF、MN互相平分.