|
|

楼主 |
发表于 2017-1-5 09:23
|
显示全部楼层
本帖最后由 天山草 于 2017-1-5 16:33 编辑
要除以哪些质数?见下表。
典型的验证程序举例:
w1 = 0; w2 = 0; w3 = 0;
For[k = 10000000000000001, k <= 10000000000000001 + 10000 - 1, k++,
n0 = k;
n = k;
m = 0; mm = 0;
lst = {n};
For[i = 1, i < 100000, i++,
If[Mod[n, 2] == 0, n = n/2,
If[Mod[n, 3] == 0, n = n/3,
If[Mod[n, 5] == 0, n = n/5,
If[Mod[n, 7] == 0, n = n/7,
If[Mod[n, 11] == 0, n = n/11,
If[Mod[n, 13] == 0, n = n/13,
If[Mod[n, 17] == 0, n = n/17,
If[Mod[n, 19] == 0, n = n/19,
If[Mod[n, 23] == 0, n = n/23, n = 17 n + 1]]]]]]]]];
lst = Append[lst, n];
For[j = 1, j < i, j++;
If[n == 1, m = 2];
If[n == lst[[j - 1]], m = 1; mm = j - 1]];
If[m == 1 || m == 2, Break[]]
]
If[m == 2 || n0 == 5, w1 = w1 + 1,
If[m != 1 , w2 = w2 + 1; Print[n0, "----\!\(\*
StyleBox[\"发散\",\nFontColor->RGBColor[1, 0, 0]]\)\!\(\*
StyleBox[\"!\",\nFontColor->RGBColor[1, 0, 0]]\)"], w3 = w3 + 1;
Print[n0, "----从第 ", mm - 1, " 步开始进入循环圈(循环圈长度是 ", j + 1 - mm,
")"]]]
]
Print["收敛到 1 的共有 ", w1, " 个"]
Print["发散的共有 ", w2, " 个"]
Print["有循环圈的共有 ", w3, " 个"]
收敛到 1 的共有 10000 个
发散的共有 0 个
有循环圈的共有 0 个 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|