此脚本生成与问题相关的序列正整数的基数N个是一个回文。N个当以一元形式表示时,将是一个回文,但是1不是合法基地,所以我们很担心仅以大于1的整数为基数。N个将是任何基的“单数字”回文大于N个,所以我们不会认为基数大于N个.
底座N个和底座N个-1为特殊情况。当它们足够大成为合法基地时,N个是1 0在底座中N个、和1 1在底座中N个-1.后者总是一个回文,前者是回文,如果(且仅当)我们允许前导0s、 将其视为0 1 0.因此,我们默认只考虑基数B类
1<B<N-1
当我们计算其中的基数时N个是一个回文。包含基础的效果N个-1或N个就是增加在它们是合法基数的情况下,按一定数量进行计数。
有几个变量影响回文的计数方式并进行了报告。它们可以通过使用环境变量,它是这些环境变量的名称我们将用于描述效果。
默认情况下,我们为每个N个,基数B类
1<B<N-1
在哪儿N个是一个回文。通过设置哈斯诺帕林斯=1,相反,我们报告的是N个计数为的0.
读者可能喜欢证明这一点N个大于6,只报告质数(但不是所有质数)。请参见哈斯诺帕林和复合数进行讨论。
我们默认从开始N个在0.但是,对于N个小于三
1<B<N-1
不包含基数,因此相应的计数将始终为0。您可以更改的初始值N个使用STARTAT公司.例如(假设,正如我们将贯穿始终的那样,您可以在命令行上设置环境变量,这个脚本被称为佩林.pl)
STARTAT=3 palin.pl
将于开始N个=三.
默认情况下N个我们认为是100,1000什么时候哈索帕林是1.如果挡脚板定义,它决定N个待考虑。
默认情况下,我们不计算它的基数提供一个或多个引线所必需的0要制作的N个回文。如果领导G0S是1,我们将计算这样的基数。
通过设置VERBOSE=1,可以打印其他信息。这在以下情况下无效哈斯诺帕林斯是1,因为没有太多其他的报道。它会更改默认报告以显示基础,和那些碱基中的回文,在哪儿N个被认为是回文,以及N个还有伯爵。
默认报告中的计数用空格隔开。您可以指定要用于分隔的字符串计数到九月.
我们默认只允许基数B类
1<B<N-1
计算基数时,其中N个被认为是回文。上限是通过添加巴塞尔塔值,默认为-1,至N个。您可以扩展或收缩通过修改基底三角洲值。通过使其大于-1,对计数没有任何有趣的影响,它只是增加一个常量值(任何扩展都会使哈斯诺帕林斯报告特别无趣)。
下面是使用上述选项的几个示例。命令后立即显示输出。
1
我们使用STARTAT公司和挡脚板限制N个设置为单个值,12。所有报告都是1,基数
1<B<12-1
在哪儿12是一个回文。如果您对更多内容感兴趣你可以做到
5: 2 212: 1
你现在看到了12是2 2在底座中5,以及12.
提供隐含引导的效果0秒通过以下方式证明
2: 1 1 0 03: 1 1 04: 3 05: 2 26: 2 012: 5
尽管1 1 0 0在底座中2不是回文,如果我们提供两个领先0秒匹配尾部0秒。
0 0 0 0 0 1 0 1 1 1 2 0 1
基数的计数B类
1<B<N-1
在哪儿N个是的回文吗N个之间0和12.
0 0 0 1 1 2 1 2 2 2 3 1 2
基数的计数B类
1<B<N
在哪儿N个是的回文N个之间0和12.改变基底三角洲从默认-1允许基本N个-1,和,自N个是1 1基础N个-1个用于N个大于2,这些术语的计数增加了1.设置巴塞尔塔到1将允许基础N个成为考虑过,但N个是1 0在底座中N个,这不是回文(除非我们设置领导G0S到1以及),所以对计数没有影响。以上1,巴塞尔塔添加其中N个是“单数字”回文,N个,只要N个+巴塞尔塔-1是2或更多,因此是一个有效的基数。我们不认为巴塞尔塔上下面的序列特别有趣。
0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 2, 0, 1
使用逗号和空白分隔序列中的术语。
0, 0, 0, 0, 1, 1, 2, 1, 3, 2, 4, 0, 5
允许领先0s(计算回文时)永远不会减少当然很重要,但它显然增加了某些条款的计数。
0 1 2 3 4 6 11 19 47 53 79 103 137 139 149 163 167 179
之后6,所有项都是质数。这不是偶然。复合数大于6有一个基地它们以回文形式出现。
首先考虑完美正方形,所以N个是F类**2
N=F**2=F*F=(F-1+1)*(F-1/1)=(F-1)**2+2*(F-1
所以N个将是1 2 1基础F类-1只要F类大于三(所以2是“数字”基数F类-1).这意味着所有大于9可以用回文来表示,和9它本身就是1 0 0 1基础2,所以所有的正方形都大于6有回文基。
考虑下一个复合数字N个其最小素因子为P(P),所以N个是P(P)*F类。我们已经处理了P(P)等于F类,所以我们可以假设P(P)严格小于F类.可以P(P)平等的F类-1? 是的,但是P(P)或F类必须是偶数,和P(P)是最少的主要因素,所以P(P)必须是2和F类必须是三,我们只关心N个大于6.所以我们可以假设F类-1严格大于P(P).所以
N=P*F=P*(F-1)+P
所以N个是太平洋基础F类-1.由此可见全部的复合数大于6有回文基。
顺便说一句,前导0对素数没有影响报告人哈斯诺帕林斯.如果P(P)没有回文基础什么时候领导G0S是on,那么它肯定没有回文基没有领导G0S,所以领导G0S无法添加新素数。还有任何新的基础B类(小于N个)由允许领导G0S必须有一个以结尾的回文0,这意味着N个是的倍数B类,因此,不是质数。所以领导G0S无法删除任何素数。