|
分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
提取从1到某个数范围内的质数
.版本 2
.子程序 _求质数按钮_被单击
.局部变量 已循环次数1, 整数型, , , 记录第一个 计次循环首 命令的已循环次数。
.局部变量 已循环次数2, 整数型, , , 记录嵌套在第一个 计次循环首 命令中的 计次循环首 命令的已循环次数。
.局部变量 数字, 整数型, , , 记录 已循环次数1 的变量值。作为一个数的范围内 的一个数字。
.局部变量 数字的除数, 整数型, , , 记录 已循环次数2 的变量值。作为一个数字的除数。
答案编辑框.内容 = “”
提示编辑框.内容 = “”
.计次循环首 (到整数 (数的范围编辑框.内容), 已循环次数1) ' 根据 数的范围编辑框 中输入的数进行循环多少次,按从小到大提取质数。
数字 = 已循环次数1 ' '''''''''''''''''''''''''''''''''''''将 已循环次数1 的变量值,作为 数字。
.如果真 (数字 > 1) ' '''''''''''''''''''''''''要是数字大于1。因为质数大于1,所以不从1开始计算。
答案编辑框.加入文本 (到文本 (数字) + “,”) ' 就在 答案编辑框 中,显示这个 数字。
.如果真 (数字 ≥ 4) ' '''''''''''''''''''''''''''''''''''''''''''''要是当前的数字大于等于4。因为已知2和3是质数,而且提取质数的算法要从4开始。
.计次循环首 (数字, 已循环次数2) ' ''''''''''''''''''''''''''''''''就根据当前的数字进行循环多少次。
数字的除数 = 已循环次数2 ' '''''''''''''''''''''''''''''''''''''''''将 已循环次数2 的变量值,作为 数字的除数。
.如果真 (数字的除数 > 1) ' ''''''''''''''''''''''''''''''''''''要是当前数字的除数大于1。因为质数的一个因数是1,所以要跳过计算。
.如果真 (数字 \ 数字的除数 > 1 且 数字 % 数字的除数 = 0) ' 要是 数字 除以 数字的除数,商的整数部分大于1。并且 数字 除以 数字的除数,商的余数部分等于0。
提示编辑框.加入文本 (“数字” + 到文本 (数字) + “有第三个因数” + #换行符) ' '''''''''就在 提示编辑框 显示这个 数字 有第三个因数。
答案编辑框.内容 = 子文本替换 (答案编辑框.内容, 到文本 (数字) + “,”, “”, , 1, 真) ' 删除 答案编辑框 中的的这个数字。
跳出循环 () ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''接着就跳出当前循环。不管还有没有其它因数。
.如果真结束
.如果真结束
.如果真 (数字的除数 = 数字的除数 - 1) ' 要是当前数字的除数等于当前数字减1。
跳出循环 () ' '''''''''''''''''''''''''''''就跳出当前循环。因为质数的另一个因数是质数本身,所以要跳过计算。
.如果真结束
.计次循环尾 ()
.如果真结束
.如果真结束
.计次循环尾 ()
' 质数除了1和它本身这两个因数外,没有第三个因数。
' 1, 1/1=1......0
' 2, 2/1=2......0, 2/2=1......0
' 3, 3/1=3......0, 3/2=1......1, 3/3=1......0
' 4, 4/1=4......0, 4/2=2......0, 4/3=1......1, 4/4=1......0 从数字4开始出现了,被第三个因数整除的特征。4/2=2......0
' 5, 5/1=5......0, 5/2=2......1, 5/3=1......2, 5/4=1......1, 5/5=1......0
' 6, 6/1=6......0, 6/2=3......0, 6/3=2......0, 6/4=1......2, 6/5=1......1, 6/6=1......0
|
-
-
求质数.e
7.27 KB, 下载次数: 6, 下载积分: 精币 -2 枚
|