给定一个数,确定它是否为圆素数。
一个圆素数是一个质数,如果你旋转数字,你仍然得到素数。1193是圆素数,因为1931年、9311和3119都是素数。
Input: Output:
1193 circular
11939 circular
1456 nothing
193939 circular
1111111 nothing
7 circular
23 nothing最短代码获胜。
发布于 2013-11-15 08:53:16
:s,,{)s/(+~:P{(.P\%}do(},!"nothing
circular"n/=输入必须在STDIN上不带尾换行符(在线示例)。
发布于 2013-11-13 05:29:23
('nothing';'circular'){~*/1&p:".(|."0 1~i.&#)":*/1&p:".(|."0 1~i.&#)":":是一个字符串转换;i.&#生成一个整数[0,len]的范围,而|."0 1~是该范围的每一个连续整数的字符串旋转。
".将旋转列表转换为数字,1&p:将数字列表转换为布尔(即“素数”)。,*/是布尔值(即和)上的乘法约简。
发布于 2013-11-13 00:19:12
p=input();n=`p`
for i in n:
n=n[1:]+n[0];e=2
while`e`!=n:p*=int(n)%e;e+=1
print'cniortchuilnagr'[p<1::2]https://codegolf.stackexchange.com/questions/15228
复制相似问题