首页
学习
活动
专区
圈层
工具
发布

圆素数
EN

Code Golf用户
提问于 2013-11-12 18:00:32
回答 8查看 934关注 0票数 5

给定一个数,确定它是否为圆素数。

一个圆素数是一个质数,如果你旋转数字,你仍然得到素数。1193是圆素数,因为1931年、9311和3119都是素数。

代码语言:javascript
复制
Input:          Output:
1193            circular
11939           circular
1456            nothing
193939          circular
1111111         nothing
7               circular
23              nothing

最短代码获胜。

EN

回答 8

Code Golf用户

回答已采纳

发布于 2013-11-15 08:53:16

GolfScript,47个字符

代码语言:javascript
复制
:s,,{)s/(+~:P{(.P\%}do(},!"nothing
circular"n/=

输入必须在STDIN上不带尾换行符(在线示例)。

票数 4
EN

Code Golf用户

发布于 2013-11-13 05:29:23

J,47个字符(w/格式化输出)

代码语言:javascript
复制
('nothing';'circular'){~*/1&p:".(|."0 1~i.&#)":

J,23个字符(仅布尔)

代码语言:javascript
复制
*/1&p:".(|."0 1~i.&#)":

":是一个字符串转换;i.&#生成一个整数[0,len]的范围,而|."0 1~是该范围的每一个连续整数的字符串旋转。

".将旋转列表转换为数字,1&p:将数字列表转换为布尔(即“素数”)。,*/是布尔值(即和)上的乘法约简。

票数 8
EN

Code Golf用户

发布于 2013-11-13 00:19:12

Python,106个字符

代码语言:javascript
复制
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]
票数 7
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/15228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档