警告:这不是“嘿,让我们在ASCII艺术中画蛋糕”挑战!请继续阅读;)
前一段时间是我的生日,现在我33岁。
因此,这种尴尬的社会传统包括邀请家人和朋友,在蛋糕上放数字蜡烛,唱歌和礼物。
33
--------
我可以使用二进制系统来代替标准蜡烛,而不是数字:我将6根蜡烛放在蛋糕上,然后点燃2根蜡烛。
100001
--------
我可以看到我这个年龄的十进制数和二进制数都是回文!
挑战
我想知道是否可以将其他任何数字放在装有蜡烛的蛋糕上,并且回文,十进制和二进制。
写一个程序/功能测试一个数是否在回文两者十进制和二进制。但是,等等,还有更多:在二进制中,测试的前导零计数!
输入值
一个十进制数x,我想测试,如果是生日回文0 <X <2 32 -1(是的,人在我住的尺寸很长)
输出量
Truthy如果它恰好满足这两个条件,否则Falsey:
- 数字的十进制表示形式是标准回文
- 数字的二进制表示形式是标准回文,添加前导零可能对此有所帮助
测试用例
1 > 1 => Truthy
6 > 110 (0110) => Truthy
9 > 1001 => Truthy
10 > 1010 (01010) => Falsey, 10 is not palindromic
12 => 1100 (001100) => Falsey, 12 is not palindromic
13 => 1101 (...01101) => Falsey, neither 13 nor 1101 are palindromic
14 => 1110 (01110) => Falsey, 14 is not palindromic
33 > 100001 => Truthy
44 > 101100 (..0101100) => Falsey, 101100 is not palindromic
1342177280 > 1010000000000000000000000000000 (00000000000000000000000000001010000000000000000000000000000) => Falsey, 1342177280 is not palindromic (but the binary representation is)
297515792 > 10001101110111011101100010000 (000010001101110111011101100010000) => Truthy
规则
祝你好运,生日快乐!
0b01010000000000000000000000000000
不是回文的,因为它将需要添加更多的零并因此超过2 ^ 32-1?在这种情况下,添加诸如1342177280
虚假测试用例之类的内容将有所帮助。
1342177280
不是十进制回文,所以Falsey。编辑