什么是公数介绍
公数是经由类埃拉托斯特尼筛法筛选之后的一个整数集合,数量无限,最小的是3,由郑祖扶在公元2012年发现并给予命名。
公数释义
公数是一种经由类埃拉托斯特尼筛法而筛选出来剩余的整数集合,不同于埃拉托斯特尼筛法的按所有大于1的正整数的倍数筛掉数字(不筛掉第1个),最后筛掉最小的正整数1的倍数(只能筛除1),公数筛选法为按所有大于1的正整数的倍数的位数筛掉数字(全部都筛),最后筛掉最小的正整数1的倍数的位数(只能筛除1),所得到的整数集。
公数筛选法
公数筛选法为筛除所有正整数的倍数的位数,最后剩余的数便是公数。
给出正整数集
1、 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
第一步、按所有整数的位数倍筛选,先筛除2的倍数的位数,得:
1、 3 5 7 9 11 13 15 17 19 21 23 25 27 29
31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
61 63 65 67 69 71 73 75 77 79 81 83 85 87 89
91 93 95 97 99
第二步、再筛除3的倍数的位数,得:
1、 3 7 9 13 15 19 21 25 27 31 33 37 39 43 45 49
51 55 57 61 63 67 69 73 75 79 81 85 87 91 93 97 99
第三步、再筛除4的倍数的位数,得:
1、 3 7 13 15 19 25 27 31 37 39 43 49 51 55 61 63 67 73 75 79 85 87 91 97 99
第四步、再筛除5的倍数的位数,得:
1、 3 7 13 19 25 27 31 39 43 49 51 61 63 67 73 79 85 87 91 99
第五步、再筛除6的倍数的位数,得:
1、 3 7 13 19 27 31 39 43 49 61 63 67 73 79 87 91 99
第六步、再筛除7的倍数的位数,得:
1、 3 7 13 19 27 39 43 49 61 63 67 79 87 91 99
第七步、再筛除8的倍数的位数,得:
1、 3 7 13 19 27 39 49 61 63 67 79 87 91 99
第八步、再筛除9的倍数的位数,得:
1、 3 7 13 19 27 39 49 63 67 79 87 91 99
第九步、再筛除10的倍数的位数,得:
1、 3 7 13 19 27 39 49 63 79 87 91 99
第十步、再筛除11的倍数的位数,得:
1、 3 7 13 19 27 39 49 63 79 91 99
第十一步、再筛除12的倍数的位数,得:
1、 3 7 13 19 27 39 49 63 79 91
最后一步、再筛除1的倍数的位数,只允许筛除第一个,所以筛除1,得出100以内的公数为:3 7 13 19 27 39 49 63 79 91
公数算法
公数公式算法
第一个:(1+1)²÷1=4,4-1=3
第二个:(2+1)²÷2=4.5,×2÷1=8,8-1=7
第三个:(3+1)²÷3≈5.3,×3÷2=7.5,×2÷1=14,14-1=13
以此类推。
公数易语言算法
.版本 2
.支持库 shellEx
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.子程序 __启动窗口_被激活
热键 = 注册热键 (_启动窗口.取窗口句柄 (), 标签1.取窗口句柄 (), 0, #回车键)
.子程序 __启动窗口_被取消激活
撤销热键 (_启动窗口.取窗口句柄 (), 热键)
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.如果真 (热键 = 参数一)
_图形按钮2_被单击 ()
.如果真结束
.子程序 _图形按钮2_被单击
.局部变量 所输入的数字, 长整数型
.局部变量 所输入数字相应的变量, 长整数型
.局部变量 求得的数字, 双精度小数型
所输入的数字 = 到数值 (框1.内容)
所输入数字相应的变量 = 所输入的数字 + 1
求得的数字 = 求次方 (所输入数字相应的变量, 2) ÷ 所输入的数字
.如果真 (所输入的数字 > 90568)
信息框 (“您输入的数字过大,系统将会无法正确计算,请重新输入!”, 0, , )
所输入数字相应的变量 = 0
.如果真结束
.如果真 (所输入的数字 < 1)
框1.内容 = “”
.如果真结束
.如果真 (取整 (求得的数字) = 求得的数字)
求得的数字 = 求得的数字 - 1
.如果真结束
.如果真 (取整 (求得的数字) ≠ 求得的数字)
求得的数字 = 取整 (求得的数字)
.如果真结束
.判断循环首 (所输入的数字 ≠ 1)
所输入的数字 = 所输入的数字 - 1
所输入数字相应的变量 = 所输入的数字 + 1
求得的数字 = 求得的数字 × 所输入数字相应的变量 ÷ 所输入的数字
.如果真 (取整 (求得的数字) = 求得的数字)
求得的数字 = 求得的数字 - 1
.如果真结束
.如果真 (取整 (求得的数字) ≠ 求得的数字)
求得的数字 = 取整 (求得的数字)
.如果真结束
.如果真 (框1.内容 = “”)
跳出循环 ()
.如果真结束
处理事件 ()
.判断循环尾 ()
框2.内容 = 到文本 (求得的数字)
公数来源
对素数的研究使得希腊数学家埃拉托斯特尼提出了检定素数的算法。人们对于素数研究的热情使得埃拉托斯特尼筛法产生各种变种筛法,例如:幸运数等等。
2012年,郑祖扶在对素数和幸运数的研究当中发现了一种埃拉托斯特尼筛法变种筛出的整数集合,并命名为“公数”。