我将尝试在Mathematica 8中生成循环质数。
循环质数是指其数字的所有旋转均为质数的数字。
然而这就是我卡住的地方。现在我想做的是获取每个内部列表的元素,并按顺序将它们连接在一起,使输出变成这样。
循环质数是指其数字的所有旋转均为质数的数字。
例如,197是循环质数,因为971和719也是质数。
现在,为了测试一个质数是否是循环质数,我会生成所有旋转数。我按以下方式执行此操作:
p = IntegerDigits[197];
Table[RotateLeft[p, n], {n, Length[p]}]
因此返回
{{9, 7, 1}, {7, 1, 9}, {1, 9, 7}}
然而这就是我卡住的地方。现在我想做的是获取每个内部列表的元素,并按顺序将它们连接在一起,使输出变成这样。
{971, 719, 197}
为了测试所有旋转是否符合PrimeQ[],
虽然我可以通过循环列表来完成这个任务,但我感觉有更好的方法,只是我还没有意识到。
NestList
可以在第一部分中作为Table
的替代品。你可能已经很清楚了。NestList[RotateLeft,p,(Length@p)-1]
- 681234NestList
会很有用。 - prets