下你所需,载你所想!
汇集开发技术源码资料

提取质数算法改进,求2万内的质数

:7.221KB :1 :2023-01-30 13:31:43

部分简介

.变量循环首 (1, 到整数 (数的范围编辑框.内容), 2, 当前奇数) ' 从1开始,根据 数的范围编辑框 中的数 进行循环多少次,每次循环都加2,将每次加2的值保存在 当前奇数 变量中。
加入成员 (全部奇数, 当前奇数) ' 将当前奇数,依次保存在 全部奇数 变量里面的数组中。

.如果真 (当前奇数 < 8) ' '''''要是当前奇数小于8。
' 这里记录1、3、5、7,但要将奇数1换成质数2。
加入成员 (剩余奇数, 当前奇数) ' 就将当前奇数,依次保存在 剩余奇数 变量里面的数组中。
剩余奇数 [1] = 2 ' ''''''''''''将奇数的范围里面的第一个数组,中的奇数1换成质数2。

.如果真结束
.如果真 (当前奇数 > 8 且 当前奇数 < 14 且 当前奇数 % 3 ≠ 0) ' 要是当前奇数大于8小于14,并且不被3整除。
' 这里记录9、11、13,但不记录被3整除的奇数9。
加入成员 (剩余奇数, 当前奇数) ' '''''''''''''''''''''''''''''''''''就将当前奇数,依次保存在 剩余奇数 变量里面的数组中。

.如果真结束
.如果真 (当前奇数 > 14 且 当前奇数 % 3 ≠ 0 且 当前奇数 % 5 ≠ 0 且 当前奇数 % 7 ≠ 0 且 当前奇数 % 9 ≠ 0 且 当前奇数 % 11 ≠ 0 且 当前奇数 % 13 ≠ 0)
' 要是当前奇数大于14,并且不被3、5、7、9、11、13整除。
' 这里记录15及以上的奇数,但不记录被3、5、7、9、11、13整除的奇数。
加入成员 (剩余奇数, 当前奇数) ' 将当前奇数,依次保存在 剩余奇数 变量里面的数组中。
.如果真结束

.变量循环尾 ()
' 变量循环首 命令结束后,剩余奇数 变量里面的数组成员值,已经依次按从小到大的顺序,分别记录了筛选出来的2、3、5、7、11、13这6个质数。

标签2.标题 = “从1至” + 数的范围编辑框.内容 + “中的全部奇数有” + 到文本 (取数组成员数 (全部奇数)) + “个。”
标签3.标题 = “筛选后的剩余奇数有” + 到文本 (取数组成员数 (剩余奇数)) + “个(主:奇数1换成了质数2)”

.计次循环首 (取数组成员数 (全部奇数), 已循环次数1) ' 根据 全部奇数 中的数量,进行循环多少次。
全部奇数编辑框.加入文本 (到文本 (全部奇数 [已循环次数1]) + “,”) ' 将 全部奇数 数组成员位置值 与当前 已循环次数1 的变量值 所对应的数组成员位置值 中的成员值,依次在 全部奇数编辑框 中显。
.计次循环尾 ()

.计次循环首 (取数组成员数 (剩余奇数), 已循环次数1) ' 根据 剩余奇数 中的数量,进行循环多少次。
剩余奇数编辑框.加入文本 (到文本 (剩余奇数 [已循环次数1]) + “,”) ' 将 剩余奇数 数组成员位置值 与当前 已循环次数1 的变量值 所对应的数组成员位置值 中的成员值,依次在 剩余奇数编辑框 中显。
.计次循环尾 ()

.计次循环首 (取数组成员数 (剩余奇数), 已循环次数1) ' 根据 剩余奇数 中的数量,进行循环多少次。
数字 = 剩余奇数 [已循环次数1] ' '''''''''''''''''''''将 剩余奇数 数组成员位置值 与当前 已循环次数1 的变量值 所对应的数组成员位置值 中的成员值,作为 数字。

.如果真 (数字 ≤ 13) ' 当前的数字小于等于13.
加入成员 (全部质数, 数字) ' 将当前的数字,作为一个质数,依次保存在 全部质数变量里面的数组中。

.如果真结束
.如果真 (数字 > 13) ' ''''''''''''要是当前的数字大于13。
当前数字是不是质数 = 真 ' 设置变量值为真。

.计次循环首 (数字, 已循环次数2) ' 就根据当前的数字进行循环多少次。这个 计次循环首 命令是检查当前数字是不是质数,不是质数就设置 当前数字是不是质数 的变量值为假。
数字的除数 = 已循环次数2 ' '''''''将当前 已循环次数2 的变量值,作为 数字的除数。
.如果真 (数字的除数 > 1) ' '''''''''''''''''''''''''''''''''''''要是当前数字的除数大于1。因为质数的一个因数是1,所以要跳过1计算。
.如果真 (数字 \ 数字的除数 > 1 且 数字 % 数字的除数 = 0) ' 要是 数字 除以 数字的除数,商的整数部分大于1。并且 数字 除以 数字的除数,商的余数部分等于0。
提示编辑框.加入文本 (“在筛选后的剩余奇数中,奇数” + 到文本 (数字) + “有第三个因数” + 到文本 (数字的除数) + #换行符) ' 就在 提示编辑框 显示这个 数字 有第三个因数。
当前数字是不是质数 = 假 ' 当前数字不是质数。设置 当前数字是不是质数 的变量值为假。
跳出循环 () ' '''''''''''''接着就跳出当前循环。不会执行下面的代码。
.如果真结束

.如果真结束
.如果真 (数字的除数 = 数字的除数 - 1) ' 要是当前数字的除数等于当前数字减1。
跳出循环 () ' '''''''''''''''''''''''''''''就跳出当前循环。因为质数的另一个因数是质数本身,所以要跳过计算。
.如果真结束

.计次循环尾 ()

.如果真 (当前数字是不是质数 = 真) ' 要是 当前数字是不是质数 变量值 仍然等于 真。
加入成员 (全部质数, 数字) ' ''''''''''将当前的数字,作为一个质数,依次保存在 全部质数变量里面的数组中。

.如果真结束

.如果真结束

.计次循环尾 ()

标签4.标题 = “从1至” + 数的范围编辑框.内容 + “中的全部质数有” + 到文本 (取数组成员数 (全部质数)) + “个。”

.计次循环首 (取数组成员数 (全部质数), 已循环次数1) ' 根据 全部质数 中的数量,进行循环多少次。
全部质数编辑框.加入文本 (到文本 (全部质数 [已循环次数1]) + “,”) ' 将 全部质数 数组成员位置值 与当前 已循环次数1 的变量值 所对应的数组成员位置值 中的成员值,依次在 全部质数编辑框 中显。
.计次循环尾 ()

提取质数算法改进,求2万内的质数

热门推荐

相关文章