数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 王守恩

[转载]这样的n有多少个?

[复制链接]
发表于 2024-1-23 09:55 | 显示全部楼层
本帖最后由 uk702 于 2024-1-23 10:36 编辑
uk702 发表于 2024-1-23 09:07
#6 有创意,将运算转化为整数,下面是 gp 的参考代码,优点是查表并避免浮点运算,缺点是不方便支持查找多 ...


以下代码更快一些,同时经验证,N=10^10 对于 1..10^5 的精度并不够,需要取 N=10^20 以上。


  1. \\ 用于调整运算精度
  2. N=10^10;

  3. \\ 建表
  4. a=floor(log([1..10])*N/log(10));nlg5=floor(log(5)/log(10)*N);nlg2=floor(log(2)/log(10)*N);q=floor(0.31*N);

  5. \\ 检测 n 是否满足 2^n 的首位等于 5^n 的首位
  6. test(n)={t1 = n*nlg2 % N; t2 = n*nlg5 % N; find = 0; if(abs(t1-t2) < q, for(i=1, 10, if(a[i] < t1 && t1 < a[i+1] && a[i] < t2 && t2 < a[i+1], find=1;break)));find}

  7. \\ 显示 1~2024 之间满足要求的 n
  8. select(test, [1..2024])

  9. \\ 1~10^5 之间的数
  10. length(select(test, [1..10^5]))
复制代码
回复 支持 反对

使用道具 举报

发表于 2024-1-23 11:49 | 显示全部楼层
王守恩 发表于 2024-1-23 09:36
没没没创意。一开始我只有5,15两个数, 78(2楼)间隔太大了, 才想到凑"301""699"的。

谢谢Treenewbee!长 ...

\[\{211, 311, 439, 569\}^{2024}=222......\]
回复 支持 反对

使用道具 举报

发表于 2024-1-23 12:10 | 显示全部楼层
本帖最后由 Treenewbee 于 2024-1-23 12:17 编辑

1000以内的素数p1,p2,其2024次幂前4位相同的有两组:

{{1354,{331, 971}}, {4277,{877, 881}}}

前3位相同的有8组:

{{135,{331,947,971}},{136,{463,739}},{137,{23,373}},{157,{19,907}},{222,{211,311,439,569}},{352,{421,977}},{427,{821,877,881}},{563,{109,919}}}

前2位相同的有47组:

{{10,{37,563,719,827}},{11,{389,911,991}},{12,{127,641,661,677,691}},{13,{23,43,317,331,373,409,463,739,769,947,971}},{14,{379,449,607,829}},{15,{19,241,281,431,907}},{16,{59,83,97}},{17,{151,433,523,853}},{18,{41,631,647,929}},{19,{2,751,757}},{20,{229,443}},{21,{47,271,461}},{22,{131,211,311,419,439,569,857,997}},{24,{383,509,619,653}},{26,{17,113,283,659}},{27,{571,601}},{28,{28,139,787}},{29,{107,163}},{30,{7,863}},{31,{157,967}},{32,{31,61,359,599}},{33,{149,233}},{34,{181,617}},{35,{421,797,941,977}},{36,{89,487}},{39,{227,887}},{41,{13,577}},{42,{347,821,877,881,883}},{47,{349,773}},{48,{547,809,953}},{49,{3,353,467,839}},{51,{5,709}},{52,{137,587}},{55,{101,727}},{56,{109,491,919}},{58,{401,823}},{59,{167,179}},{63,{173,937}},{65,{269,643}},{75,{199,239,521}},{76,{367,743}},{83,{337,761}},{87,{251,293}},{92,{193,307}},{93,{223,733}},{94,{67,503}},{99,{197,479}}}
回复 支持 反对

使用道具 举报

发表于 2024-1-23 12:38 | 显示全部楼层
10000以内的素数p1,p2,其2024次幂前5位相同的有20组:
{{16826,{97,6203}},{39476,{227,4139}},{26550,{659,4219}},{42117,{883,5923}},{41348,{1151,1873}},{11239,{1283,6949}},{26644,{1453,4621}},{57200,{1487,5897}},{30249,{1951,8581}},{69999,{1999,6257}},{32321,{2239,2389}},{97690,{2297,5779}},{65045,{2953,5791}},{18800,{3931,5867}},{25749,{4157,9473}},{16207,{4813,5153,6091}},{20193,{5449,8179}},{10294,{6337,8317}},{16951,{6353,7691}},{43143,{7369,8563}}}

前6位相同的有1组:
{302491, {1951, 8581}}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-23 13:42 | 显示全部楼层
  1. 公式(1):Select[Range[20000000, 20000100],
  2. Abs[1/2 - FractionalPart[#*Log10[2]]] < 1/2 - Log10[3] &]
  3. 公式(2):Select[Range[20000000, 20000100],
  4. Take[IntegerDigits[2^#], 1] == Take[IntegerDigits[5^#], 1] &]
  5. 公式(3):Select[Range[20000000, 20000100],
  6. Floor[2^#/10^Floor[Log10[2] #]] == Floor[5^#/10^Floor[Log10[5] #]] &]
复制代码

这3个公式摆在一起。公式(1)速度最快;  公式(2)次;   公式(3)最慢。
看不懂 Log10[3],  什么意思?可以调吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-23 15:25 | 显示全部楼层
  1. 公式(1):Select[Range[10^20, 10^20 + 100],
  2. Abs[1/2 - FractionalPart[#*Log10[2]]] < 1/2 - Log10[3] &]
  3. 公式(2):Select[Range[10^20, 10^20 + 100],
  4. Abs[1/2 - FractionalPart[#*Log10[5]]] < 1/2 - Log10[3] &]
  5. 公式(3):Select[Range[2000, 2100],
  6. Take[IntegerDigits[3^#], 1] == Take[IntegerDigits[7^#], 1] &]
  7. 公式(4):Select[Range[2000, 2100],
  8. Abs[1/2 - FractionalPart[#*Log10[3]]] < 1/2 - Log10[2.5828] &]
复制代码

公式(1)速度最快; 公式(1)=公式(2)。
公式(3)有正确答案(速度慢),公式(4)--Log10[2.5828]应该是一个什么东东(速度快)?

评分

参与人数 1威望 +10 收起 理由
uk702 + 10 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-24 08:29 | 显示全部楼层
uk702 发表于 2024-1-23 09:55
以下代码更快一些,同时经验证,N=10^10 对于 1..10^5 的精度并不够,需要取 N=10^20 以上。


"复制代码"答案出不来 --- 要用 gp/pari 来运行。将代码复制到 gp 里再回车在我这里是可以运行的。%5 = 4576 是错的,正确应该是 4575 。

%4 = [5, 15, 78, 88, 98, 108, 118, 181, 191, 201, 211, 274, 284, 294, 304, 367, 377, 387, 397, 407, 470, 480, 490, 500, 563, 573, 583, 593, 603, 666, 676, 686, 696, 759, 769, 779, 789, 852, 862, 872, 882, 892, 955, 965, 975, 985, 1048, 1058, 1068, 1078, 1088, 1151, 1161, 1171, 1181, 1244, 1254, 1264, 1274, 1284, 1347, 1357, 1367, 1377, 1440, 1450, 1460, 1470, 1533, 1543, 1553, 1563, 1573, 1636, 1646, 1656, 1666, 1729, 1739, 1749, 1759, 1769, 1832, 1842, 1852, 1862, 1925, 1935, 1945, 1955, 2018]

%5 = 4576
回复 支持 反对

使用道具 举报

发表于 2024-1-24 08:39 | 显示全部楼层
本帖最后由 uk702 于 2024-1-24 08:43 编辑

从速度上来说,应该没有比 #25 公式1 更快的方法了,直接判断 2^n 的首位是否是 3,若 a=2^n 的首位是 3,由于 b=5^n = 10^n/a 其首位必然也是3,a 和 b 必然有公共字头,所以这个方法没有任何多余动作,不可能比它更快了。

点评

用我们的"误差分数"方法能解决 A088995 吗?10个就行。  发表于 2024-1-25 11:06
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-24 09:26 | 显示全部楼层
uk702 发表于 2024-1-24 08:39
从速度上来说,应该没有比 #25 公式1 更快的方法了,直接判断 2^n 的首位是否是 3,若 a=2^n 的首位是 3, ...
  1. Select[Range@2024,Abs[FractionalPart[#Log10[2]]-Log10[10]/2]<Log10[10/9]/2&]
复制代码

这样更方便遐想:  9 = 10 - "1",2,5 换其他数对,   "1"不能变。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-24 11:28 | 显示全部楼层
楼上的遐想欠火候。

x+y=2024,  x^2024首n位数字 = y^2024首n位数字。n=1, 2, 3, 4, 5, 6, ..., 2024。

挺好的!"2024"!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-6-11 06:32 , Processed in 0.093750 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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