当前位置: 首页 > news >正文

关于雷劈数的一些研究

一、雷劈数的定义

背景:有个数学家走在路上看见一个 3025 的路牌被劈成 30 和 25 了,他发现

(

30

+

25

)

2

=

3025

,因此称这种数为雷劈数。

比较小的雷劈数有

81

=

(

8

+

1

)

2

,

100

=

(

10

+

0

)

2

雷劈数的定义大概为:将数

N

的十进制表示从某处分成两半

a

b

b

可以包含前导

0

,但不能为空),那么

(

a

+

b

)

2

=

N

二、雷劈数的求法

因为

b

可以包含前导

0

,所以考虑直接枚举

b

的位数

n

。这个时候十进制拼接就可以表示为

10

n

a

+

b

于是我们的方程变成了这样:

(

a

+

b

)

2

=

10

n

a

+

b

展开移项:

a

2

+

2

a

b

+

b

2

10

n

a

b

=

0

a

2

+

(

2

b

10

n

)

a

+

b

2

b

=

0

这是一个关于

a

的二次方程,想要有整数解必须满足判别式

Δ

=

(

2

b

10

n

)

2

4

(

b

2

b

)

为完全平方数,设为

c

2

因此

4

b

2

4

10

n

b

+

10

2

n

4

b

2

+

4

b

=

c

2

,即

4

(

10

n

1

)

b

=

10

2

n

c

2

b

也要是整数,因此

10

2

n

c

2

需要是

4

(

10

n

1

)

的倍数。我们只需要找出符合这个条件的

c

即可。

首先显然

10

2

n

4

的倍数,因此

c

只要是偶数就可以满足

4

的条件,我们之后再带上这个偶数的条件。现在去掉

4

之后,我们就需要找出

c

2

10

2

n

1

(

mod

10

n

1

)

,因为

10

n

1

(

mod

10

n

1

)

首先

P

=

10

n

1

显然不是一个质数,我们先考虑将其质因数分解为

i

p

a

i

i

。如果我们对于所有的

p

a

i

i

求出它们的合法解,那么将所有的可能组合全都用 exCRT 合并起来就可以获得

P

的所有合法解。

现在问题变成求

c

2

1

(

mod

p

a

i

i

)

。注意这不是一般的二次剩余问题,因为我们寻找的数的平方是

1

显然的,这种情况下

c

只能为

1

p

a

i

i

1

,把

1

移到

c

2

处然后因式分解即可证明。

于是我们求出了所有合法的

c

。如果遇到了奇数跳过即可。

对于每一个

c

,其有唯一对应的两组对偶解:

b

=

10

2

n

c

2

4

(

10

n

1

)

,

a

=

10

n

±

c

2

b

容易发现满足上面条件的

c

所对应的

a

b

一定合法。

于是整个问题就解决了,回顾一遍整体的流程:

枚举

b

的位数

n

P

=

10

n

1

分解为

k

i

=

1

p

a

i

i

对于每一个

p

a

i

i

的两种选法,将它们任意组合,形成

2

k

种不同的解,每一种都用 exCRT 合并得到对应的

c

在合法的

c

中加上

P

+

1

,然后枚举所有的

c

判断是否是偶数;

对前几步得到的每一个偶数

c

都还原出对应的两组

a

,

b

最后将得到的所有

(

a

+

b

)

2

从小到大排序。

实现有点困难,因为我带着高精度写的所以写了 17KB,目前 15 秒能算出

10

50

以内所有雷劈数。代码就不给了(

upd: 拿 python 重写了一下,只有不到 2kb 而且 0.5 秒能算

10

60

,我回去加一下优化的高精度库应该还能加速,Code

实际上现在瓶颈在于质因数分解,在目前能够快速分解的范围内(对应到输入就是 65 位左右)基本都能一秒跑完了,所以可能也就这样了吧。其它的加速就又回归到了质因数分解而这并不是我想研究的部分,如果有人会更快速的分解

10

n

1

也可以在此基础上进行优化。

特别鸣谢:

liqingyang,刷视频的时候看到了这个问题;

Grammar__hbw,把倍数关系转化为了剩余问题;

zhouyuhang,提出了剩余问题的大体解决方案;

OEIS A102766,验证了程序的较小项的正确性;

我自己,写+调了一晚上的史山;

http://www.jsqmd.com/news/92864/

相关文章:

  • Rabin-Karp算法
  • LobeChat开发者必读:最佳实践与常见问题解决方案汇总
  • 2、Linksys WRT54G路由器:开源固件历史与硬件详解
  • 从 paperxie 到工具矩阵:AI 开题报告工具如何帮你突破 “学术启动瓶颈”?
  • 普通人也能做出高级感图片的秘密
  • paperxie AI 开题报告功能:本科毕设从 “选题模糊” 到 “导师一次过” 的实用工具手册
  • 3、Linksys WRT54G系列路由器全解析
  • 15、优化Windows系统性能:媒体定制与系统分析指南
  • 5、深入解析Linksys WRT54G路由器的第三方固件
  • “ChatGPT-5.2:开启人工智能新纪元的钥匙”
  • 2025年国内专业的多媒体讲台电教桌供应商哪家权威,中控室多媒体讲台电教桌/消防中心多媒体讲台销售厂家哪家强 - 品牌推荐师
  • 2025年年终中国管理咨询公司推荐:聚焦制造业转型升级,专家严选10家实战派咨询机构深度评测与指南 - 品牌推荐
  • 2025年年终中国管理咨询公司推荐:整合权威行业报告与万家企业反馈,10家高口碑咨询公司综合盘点 - 品牌推荐
  • 8、第三方固件OpenWrt与DD - WRT的使用与安全配置
  • 2025长沙CNC数控机床采购避坑指南与口碑排行榜,级柱数控机床/军工配件数控机床/水暖接头数控机床/动力刀塔数控车CNC数控机床批发品牌 - 品牌推荐师
  • 【日记】果然社交过量 i 人会中毒(646 字)
  • 如何使用wgt命令,结合ftp远程下载大规模数据
  • XSS跨站脚本攻击验证法:原理、流程与测试实践
  • 文件加密软件哪个速度快?2025 年 6 款高效低延迟工具对比
  • 磷酸化检测
  • 数控滑台的基本概念
  • 高速光纤光栅在地震波检测中的应用
  • 2026年大模型学习资源全攻略:从零到精通,小白到程序员,一篇超详细的从入门到精通大模型学习指南!
  • 给企业沟通上把“安全锁”:一文读懂私有化即时通讯
  • 10000张高质量图片数据集-图像识别训练资源完整版-算法训练和模型优化-计算机视觉、图像识别、深度学习-统一的技术规格和命名标准-可靠的训练素材
  • 智能数控滑台:现代制造业的高效引擎
  • 2025注浆水玻璃厂家排行榜TOP5权威推荐:水玻璃厂家实力 - 工业品牌热点
  • 隧道高清晰广播系统,破解隧道声学难题 为司乘安全加码
  • Python-随笔函数笔记
  • 2025年12月成都律师事务所推荐:成都金牌律师事务所深度解析法律风控与疑难案件解决核心能力 - 海棠依旧大