介绍
数字101是回文,因为它前后读相同。数字105不是。但是,以八为底的105表示为151,这是回文的。另一方面,从2到101的任何碱基,103都不是回文。因此,103 严格来说是非回文的。
精确的定义是:如果非负整数n在2到n-2之间(包括2和n-2)之间的任何碱基都不是回文,则它严格是非回文的。
前几个严格非回文数是0, 1, 2, 3, 4, 6, 11, 19, 47, 53, 79, 103, 137, 139, 149, 163, 167, 179, 223, 263, 269...
(A016038)
编写一个完整的程序,该程序从STDIN 中获取数字x并打印第x个严格的非回文数。例如,输入5
将产生输出4
。
挑战
面临的挑战是编写多个(一个或多个)程序,每个程序以不同的语言解决此任务。
然后,您必须将所有程序放在矩形的字符网格中。可以使用Boggle样式访问程序。也就是说,从一个字符到相邻字符(包括对角线),切勿使用同一字符超过一次。
例如,以下网格:
abc
bdc
包括的话abc
,ccd
,bbad
,和bcdb
,但不是ac
,bdd
,bcb
,或cbbc
。
必须使用这些规则在网格中找到每个程序。但是,您可以在多个程序中使用相同的字符。
得分了
您的分数是网格中的字符数除以程序数。最低分获胜!
规则
- 如果两种语言通常使用不同的名称,而忽略版本号,则认为它们是不同的。例如,C和C ++是不同的,但是Python 2和Python 3是相同的。
- 网格中的字符必须全部来自可打印的ASCII,即从
到
~
代码点20
到FE
。 - 每个程序只能由可打印的ASCII加上换行符组成。将程序插入网格时,请用空格替换每个换行符。
- 网格中的空格可以代表一个程序中的空间,而换行则代表另一个程序。
- 网格必须是矩形。
- 并非每个字符都需要在程序中使用。
单数数字不是回文吗?他们前后阅读相同。
—
Reto Koradi
@RetoKoradi正确。这就是为什么我们只考虑小于的底数
—
Ypnypn
n-1
,所以总是至少有两位数字。