Forgot password?
 Create new account
View 144|Reply 12

[数论] 猜想:最后总是这三个数之一11,15,43

[Copy link]

425

Threads

1553

Posts

110K

Credits

Credits
11758

Show all posts

realnumber Posted at 5 days ago |Read mode
小伙的高三同学发现的一个猜想:
定义Z变换如下,正整数$k=p_1^{a_1}p_2^{a_2}\cdots p_n^{a_n}$(质因数标准分解)变换为$t=p_1(a_1+1)+p_2(a_2+1)+\cdots +p_n(a_n+1)-1$.
猜想:任意一个大于等于2的正整数,通过足够多次Z变换,总能变成这三个数之一11,15,43.
举例:15  --->  $3\times2+5\times2-1=15$
43  ---> $43\times2-1=85=5\times17$  ---> $5\times2+17\times 2-1=43$
11等不举了,要变很多次,据称,这个同学编程检验了几万还是几百万来着,让我转发到这里. 有点吓到我了

1

Threads

101

Posts

1753

Credits

Credits
1753

Show all posts

Aluminiumor Posted at 5 days ago
我用 Python 检验了 $2$ 至 $10^7$ 的所有整数,似乎没有反例。

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

TSC999 Posted at 4 days ago
Last edited by hbghlyj at yesterday 04:13输入 \(k=31\) 试试:
k = 31; k = 31$^1$; z = 31(1 + 1) - 1;
k = 61; k = 61$^1$; z = 61(1 + 1) - 1;
k = 121; k = 11$^2$; z = 11(2 + 1) - 1;
k = 32; k = 2$^5$; z = 2(5 + 1) - 1
k = 11;

1

Threads

101

Posts

1753

Credits

Credits
1753

Show all posts

Aluminiumor Posted at 4 days ago
TSC999 发表于 2025-4-15 11:07
输入 \(k=31\) 试试:
第三行,应为 $k=121;k=11^2;z=11\times(2+1)-1$

Comment

3# 楼已纠正此错。确实回到了 11。  Posted at 4 days ago

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

TSC999 Posted at 4 days ago
Aluminiumor 发表于 2025-4-14 23:44
我用 Python 检验了 $2$ 至 $10^7$ 的所有整数,似乎没有反例。
有 mathematica 检测程序吗?

418

Threads

1627

Posts

110K

Credits

Credits
11885

Show all posts

abababa Posted at 4 days ago
realnumber 发表于 2025-4-14 23:04
小伙的高三同学发现的一个猜想:
定义Z变换如下,正整数$k=p_1^{a_1}p_2^{a_2}\cdots p_n^{a_n}$(质因数标 ...
$a_i\ge3$时没有用吧,都能经过操作减少,直到减少到$a_i\le2$。因为当$a_i\ge3$时有$p_i^{a_i}\ge p_i(a_i+1)$,操作一次必定减少。

Comment

不能说明什么,之前操作也许增大很多了  Posted at 4 days ago
增大也没关系,最后增大到$a_i\ge3$之后还是要减少,会回到某个界里面,只要能找到这个公共的上界就好了。  Posted at 4 days ago

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

TSC999 Posted at 3 days ago
Last edited by TSC999 at 3 days ago下面这个 mathematica 程序可用来检验任何不大于 100 位的自然数是否符合主帖的猜想:
  1. Clear["Global`*"];
  2. a = 20785944570484154348291445110314811977989750;
  3. Do[
  4. b = Flatten[FactorInteger[a]]; n = Length[b];
  5. s = 0;
  6. Do[s = s + b[[k]] (b[[k + 1]] + 1), {k, 1, n, 2}];
  7. s = s - 1; a = s;
  8. Print[a]; If[(a == 15 || a == 11 || a == 43), Break[]], {9999}]
Copy the Code


例如对于  a= 20785944570484154348291445110314811977989750 这个数,运行结果为:

6027435124906065
1391059131
12043843
3441111
2275
54
15
最终 “收敛” 到 15。

对于  a = 3682219716521039736463107697463395955 这个数,运行结果为:

5811327558075977
71964415
28785775
2302876
743
1485
43
最终 “收敛” 到 43。

对于 a = 865622476545205763436445305  这个数,运行结果为:

17238829258301900
6312960
314
317
633
427
135
21
19
37
73
145
67
133
51
39
31
61
121
32
11
最终 “收敛” 到 11。

123

Threads

463

Posts

3299

Credits

Credits
3299

Show all posts

TSC999 Posted at ereyesterday 10:56
Last edited by TSC999 at ereyesterday 15:55下面这个类似的猜想是最终收敛到 8:
新猜想.png
文件代码如下,您可以用这个程序检验任何一个大于等于 8 的整数,看看有没有最终不等于 8 的反例:
  1. Clear["Global`*"];
  2. a = 13;
  3. Do[
  4. b = Flatten[FactorInteger[a]]; n = Length[b];
  5. s = 0;
  6. Do[s = s + b[[k]] b[[k + 1]], {k, 1, n, 2}];
  7. a = s + 1;
  8. Print[a]; If[a == 8, Break[]], {999}]
Copy the Code

701

Threads

110K

Posts

910K

Credits

Credits
94155
QQ

Show all posts

kuing Posted at ereyesterday 13:08
Last edited by kuing at ereyesterday 13:30
TSC999 发表于 2025-4-17 10:56
其实,可以构造出更好一些的类似猜想。例如下面这个:

文件代码如下,您可以用这个程序检验任何一个正整数 ...

这个应该规定 a1>=8,否则对 1~6 会收敛到 6

这个应该比较容易证明,当 a1 比较大时,如果 a1 是合数,由于 pz<p^z,a2 肯定小于 a1,且不是小一点点,如果 a1 是素数,则 a2=a1+1,而 a2 必然是合数,那 a3 又会变小,也就是两步之内必变小,所以持续下去必然越变越小。

而 1# 的之所以难,是因为过程中它有可能不断变大

Comment

你说的对,8# 楼已修正。为什么会一直减少到 8 可能不难证明。  Posted at ereyesterday 15:58

手机版Mobile version|Leisure Math Forum

2025-4-19 17:32 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list