求助,
mathematica吧
全部回复
仅看楼主
level 5
codrw 楼主
Do[
Do[If[PrimeQ[i - 2 j^2] == False, Break[], Print[{i, j}]], {j, 15}],
{i, 61, 2*4181, 2}]
上面这段代码,如果只要求输出 j > 12 时的 i 值,程序该如何修改
2019年10月22日 23点10分 1
level 8
这个简单的有点过分了。。。
2019年10月23日 20点10分 3
同时要保证 j 取1到12时,i-2j^2都是素数,这里求得的 i 在小范围内有 61,181。我想提高程序到效率,输出更大范围内的 i ,同时保证 i 只输出一次
2019年10月24日 00点10分
level 5
codrw 楼主
可能是我没说清楚,为了提高程序的输出效率,或者是结果的可读性,对相同的 j ,这里我要求 i 只输出一次,即要求 j 取遍 1 到 15,表达式的值都是素数,这里求得的 i 有 61,181 我想求出更大范围内的 i , 程序怎么改,或者程序只需控制输出格式
2019年10月24日 00点10分 4
level 7
硬算的话到10^6以上时间就比较长了,可能需要优化一下
Select[Range[61, 10^6, 2], And @@ (PrimeQ /@ (# - 2 Range@15^2)) &]
2019年10月24日 07点10分 5
1