找回密码
 欢迎注册
查看: 859|回复: 20

[求助] 求最小正整数 k,使得 5^k 起始9位数为12!=479001600

[复制链接]
发表于 2025-8-20 20:20:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
A386547

NAME
a(n) is the least integer k such that 5^k begins with n!.

DATA
0, 0, 2, 4, 12, 116, 2080, 6017, 149704, 2436360, 10819405, 19295517

OFFSET
0,3

FORMULA
a(n) = A018862(n!).

EXAMPLE
a(4) = 12 because 5^12 = 244140625 is the smallest power of 5 beginning with 4! = 24.

MATHEMATICA
a[n_] := Module[{target = IntegerDigits[n!], k = 0}, While[UnsameQ[Take[IntegerDigits[5^k], Length@target], target], k++]; k];

Table[a[n], {n, 0, 8}]

CROSSREFS
Cf. A000142, A018862, A374922, A374923.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2025-8-21 06:37:06 | 显示全部楼层
原来是计算精度的问题,a(12) = 1664457026
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2025-8-21 08:44:10 | 显示全部楼层
这个需要借用以前分析\(2^k\)和\(5^k\)中前n位相同相同的方案
https://zhuanlan.zhihu.com/p/634499178
我们的目标时寻找k使得\(5^k\)的前h位和n!相同,其中h是n!的位数,于是我们要求寻找k使得存在整数m使得
\(\lg(n!)-h+1\le \{k\lg(5)\}\lt\lg(n!+1)-h+1\)
我们记\(a=\lg(n!)-h+1,b=\lg(n!+1)-h+1\),其中a,b是两个非常接近的(0,1)上的数, 并且记\(c=\frac{a+b}2, e=\frac{b-a}2\), c为区间中心,e很小,是区间长度一半。
假设我们现在已经找到某个\(k_1\)使得\(k_1\lg(5)\)再区间\((a,b)\)附近比较接近的地方,但是还没有落在区间中间,也就是\(h=|{k_1\lg(5)}-c|\)不大,但是大于e,
于是我们后面搜索的目标就是需要找到下一个更好的k_2,使得\(|{k_2\lg(5)}-c|<h\), 所以必然要求\(-2h<{(k_2-k_1)\log(5)}<2h\)
也就是要求找到整数m, k使得\(-2h<m-k \lg(5) < 2h\).
利用链接中知识,我们知道需要寻找和\(\lg(5)\)的连分数前s位相同,然后第s+1位不同的分数\(\frac{m}k\)使得\(|2h(q_s+q_{s-1}x^*)|\lt x^*\)

评分

参与人数 1威望 +8 金币 +8 贡献 +8 经验 +8 鲜花 +8 收起 理由
northwolves + 8 + 8 + 8 + 8 + 8 很给力!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2025-8-21 23:07:43 | 显示全部楼层
mathe 发表于 2025-8-21 08:44
这个需要借用以前分析\(2^k\)和\(5^k\)中前n位相同相同的方案
https://zhuanlan.zhihu.com/p/634499178
我 ...

老师们看答案的!
没看到答案!
你要先看到答案,再看过程
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 6 天前 | 显示全部楼层
我试了连分数逼近,发现计算出来a(5)=1767,a(6)=106352,但穷举可发现a(5)=116,a(6)=2080.
116,2080似乎也不在连分数的分母序列中
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 6 天前 | 显示全部楼层
计算7^k 以n!起始也是如此:

我试了连分数逼近,发现计算出来a(5)=871,但穷举可发现a(5)=361.
361似乎也不在lg7 连分数的分母序列中:{1, 1, 6, 13, 71, 439, 510, 2455069, 2455579, 4910648, 12276875, 29464398, 71205671, 100670069, 171875740, 272545809, 1807150594, 9308298779, 11115449373, 931890596738...}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 6 天前 | 显示全部楼层
连分数方法计算a(30)=47234075712191144824088070110423078120407355467583563587299954934.显然比实际数值大了许多
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 5 天前 | 显示全部楼层
直接连分数逼近不能取到最优值是正常的。我前面的想法是对于比较接近的一个分数,差值再使用3#的方案枚举。但是有一个问题是两个分母都比较小的分数,它们的和的分母不一定很小,可能会增大很多。
以a(8)=149704为例,代表使用分数104639/149704,对应连分数[0, 1, 2, 3, 9, 2, 3, 3, 1, 2, 2, 3, 2]
和lg(5)的连分数[0, 1, 2, 3, 9, 2, 2, 4, 6, 2, 1, 1, 3, 1, 18, 1, ...] 的前面部分是相同的。
所以关键就在于我们需要判断有多大部分是相同的,这样就可以减少搜索空间了。
一个可以利用的信息,应该随着n增加,连分数相同的长度应该会越来越多。
那么按这个标准,由于104639/149704 重叠连分数为[0, 1, 2, 3, 9, 2], 对应连分数展开6项为
[0 1 2  7 65 137]
[1 1 3 10 93 196]
于是我们后面可以仅搜索分数\(\frac{65u+137v}{93u+196v}, 0\lt u\lt v\),比如下一项对应u=4492,v=10299.

评分

参与人数 1威望 +8 金币 +8 贡献 +8 经验 +8 鲜花 +8 收起 理由
northwolves + 8 + 8 + 8 + 8 + 8 我试试

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 4 天前 | 显示全部楼层
你这个\(5^k\)以n!开头对于每个n都需要重新一位位计算才行
上面方法应该去匹配固定数字比较好,比如
\(2^k\)使得其前n位和\(\pi\)前n位相同的最小k, 可以有5,98,872,10871
而换成\(5^k\)为5,5,294,294,15731
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 4 天前 | 显示全部楼层
A018862——5^a(n) is smallest power of 5 beginning with n.——Aug 19 2025——别人才到这个份上!

0, 2, 5, 11, 1, 4, 7, 50, 10, 63, 23, 3, 56, 26, 6, 69, 49, 29, 9, 82, 62, 42, 22, 12, 2, 75, 55, 45, 25, 15, 5, 88, 68, 58, 48, 38, 28, 18, 8, 91, 81, 71, 61, 51, 41, 31, 21, 11, 104, 94, 84, 74,

5^a(n) is smallest power of 5 beginning with n^2.——OEIS就没有了。——我一直默默在看。——我们太超前了!!!

0, 11, 10, 69, 2, 38, 104, 87, 183, 93, 209, 232, 69, 298, 434, 477, 231, 377, 915, 483, 1413, 403, 74, 2077, 4, 1233, 1007, 1947, 1432, 2083, 1764, 2611, 2488, 1395, 1953, 1541, 644, 913, 5454, 6889, 946, 1411,
   
Table[Module[{t = IntegerDigits[n^A], k = 0}, While[Take[IntegerDigits[5^k], UpTo[Length[t]]] != t, k++]; k], {A, 2}, {n, 49}]——众多个数字串可以共一个公式。

主帖——0, 0, 2, 4, 12, 116, 2080, 6017, 149704, 2436360, ——也是这个——只是需要耐心。

Table[Module[{t = IntegerDigits[n!], k = 0}, While[Take[IntegerDigits[5^k], UpTo[Length[t]]] != t, k++]; k], {n, 0, 9}]

点评

计算量太大,得换成对数运算  发表于 4 天前
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2025-9-13 11:51 , Processed in 0.032917 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表