连续逆素数
逆素数是指:顺着读和倒着读都是素数,并且本身不是回文数的自然数。比如,13(13和31都是素数)
若p_1,p_2,...,p_k是连续素数,且p_1,p_2,...,p_k都是逆素数,那么,{p_1,p_2,...,p_k}构成了一个长度为k的连续逆素数集。
比如,{1193,1201,1213,1217,1223,1229,1231,1237,1249,1259}就是一个长度为10的连续逆素数集。
试找出一个长度为13的连续逆素数集。 比较好奇:你举的这个长度为10的连续逆素数集,是如何获得的?
感觉似乎并不容易。
原帖由 medie2005 于 2008-6-13 14:12 发表 http://bbs.emath.ac.cn/images/common/back.gif
逆素数是指:顺着读和倒着读都是素数,并且本身不是回文数的自然数。
比如,13(13和31都是素数)
...
如果是针对孤立的“逆素数”,强调非“回文数”似乎还有必要,
但寻找一个足够长的连续“逆素数”数列,似乎没有强调“非回文数”的必要了。
你认为呢? :)
显然,要找连续素数超过13个,且开始数字是1,3,7,9的
所以应该选择并不多 长度为10的连续逆素数集还比较好找,我把http://topic.csdn.net/u/20080606/21/49811f8c-39a1-40d8-b8a5-10793bbf18fd.html里我发代码稍微改动了一下,就找到了{1193,1201,1213,1217,1223,1229,1231,1237,1249,1259}。
代码中的“prime.txt”是素数表,这个gxqcn可以用你开发的素数生成工具,很快就得到了10^8以内的素数表了。
另外,足够长的连续“逆素数”数列本身非常难得,确实没有强调“非回文数”的必要,也可以忽略这个限制。 :lol
对10^8素数表
是否有必要作二分查找??
首先进行缩减
把开头数字不是1,3,7,9的统统删除
我想会得到大概200多万素数吧
转换成8位字符
排序
然后作个索引,就记录前三位数字吧
是否会快些呢 :)
或者,干脆对相同位数的数字组成的序列A,对每个元素求逆序数
得到序列B,排序
A, B求交集,将得到全部的逆序素数 枚举$10^8$以内范围并不难,就是更加大一点的范围也没什么。
只要先计算指定范围内素数表(用比特位表示),
然后在计算所有逆序数构成的素数表(也用比特位表示)
然后顺序扫描就可以了。
只是我有点怀疑在$10^8$能否有解 :)
应该概率比较大
现在问题是具体位数的逆序素数的概率?? 我觉得概率不会很大,只是很奇怪还能有那么小的连续10个的逆序素数 $10^8$以内最大长度为10:
Found Len 7 list:
2 3 5 7 11 13 17
Found Len 8 list:
727 733 739 743 751 757 761 769
Found Len 10 list:
1193 1201 1213 1217 1223 1229 1231 1237 1249 1259
另外,找长度13的其实和长度14的应该相同