hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 685|回复: 9

寻找形如1089 + 8019 = 9108的数

[复制链接]

948

主题

1162

帖子

3655

积分

超级版主

Rank: 8Rank: 8

积分
3655

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

发表于 2023-10-11 14:11:45 | 显示全部楼层 |阅读模式
1089 + 8091 = 9180
1269 + 1692 = 2961
......
这样的4位数有25个,那么这样的5位数、6位数有多少个?
世界上最遥远的距离,不是生与死的距离,而是我站在你面前,你却不知道我爱你
回复

使用道具 举报

0

主题

191

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2023-10-11 14:11:50 | 显示全部楼层
穷举数目会随着长度的增长而变得越来越复杂。
但是我们可以轻松构造很长很长符合要求的结果。
我们找一个10的阶为p-1的素数p,比如p=7
那么由于
\(\frac17=0.142857....,\frac27=0.285714...,\frac37=0.428571...\)
可以得出142857+285714=428571
又比如
2/17=0.1176470588235294...
3/17=0.1764705882352941...
5/17=0.2941176470588235...
得出1176470588235294+1764705882352941=2941176470588235
回复

使用道具 举报

0

主题

201

帖子

71

积分

关内侯

Rank: 2

积分
71
发表于 2023-10-11 14:12:17 | 显示全部楼层
請問樓主,25組分別有哪些?

同時,你是如何求出這二十五組的?
回复

使用道具 举报

0

主题

206

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-11 14:12:22 | 显示全部楼层
1089令我想起小学时在一本《科学实验》杂志上看到的一道题

科学实验
×       验
------------
验实学科

凑了半天搞出来了,被父亲狠狠地表扬了几次。可能是我玩趣味数学的发端。
小时候还是有点笨吧,现在觉得应该秒解。
回复

使用道具 举报

0

主题

200

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-11 14:12:35 | 显示全部楼层
  1. print([(i, j, i+j) for i in range(1000, 9999) for j in range(i, 9999-i) if sorted(str(i)) == sorted(str(j)) == sorted(str(i+j))])
复制代码
[(1089, 8019, 9108), (1089, 8091, 9180), (1269, 1692, 2961), (1467, 6147, 7614), (1467, 6174, 7641),
(1476, 4671, 6147), (1503, 3510, 5013), (1530, 3501, 5031), (1746, 4671, 6417), (2385, 2853, 5238),
(2439, 2493, 4932), (2502, 2520, 5022), (2538, 3285, 5823), (2691, 6921, 9612), (2853, 5382, 8235),
(3285, 5238, 8523), (4095, 4950, 9045), (4095, 5409, 9504), (4392, 4932, 9324), (4590, 4950, 9540),
(4599, 4995, 9594), (4698, 4986, 9684), (4797, 4977, 9774), (4896, 4968, 9864), (4959, 4995, 9954)]
回复

使用道具 举报

0

主题

173

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-11 14:13:18 | 显示全部楼层
这种方法简洁但是速度慢,肯定有更快的方法
回复

使用道具 举报

0

主题

194

帖子

171

积分

关内侯

Rank: 2

积分
171
发表于 2023-10-11 14:14:06 | 显示全部楼层
这样的3-8位数分别有1, 25, 648, 17338, 495014, 17565942组。

3位数一组:459+495=954
5位数如: 13842+18342=32184

穷举9的倍数即可
回复

使用道具 举报

0

主题

198

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-10-11 14:14:40 | 显示全部楼层
$i<=j,i+j<=9999->i<5000$

$ mod(i,9)=a,mod(j,9)=a,mod(i+j,9)=a=2a->a=0$
  1. print([(9*i, 9*j, 9*(i+j)) for i in range(1112, 5555) for j in range(i, 11111-i) if sorted(str(9*i)) == sorted(str(9*j)) == sorted(str(9*(i+j)))])
复制代码
回复

使用道具 举报

0

主题

173

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2023-10-11 14:15:10 | 显示全部楼层
【转载】
https://mathematica.stackexchange.com/a/233030/2090
满足条件的4位数有25组,满足条件的5位数有648组,满足条件的6位数有17338组。
回复

使用道具 举报

0

主题

173

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-11 14:15:53 | 显示全部楼层
如图

对一个合法的算式,我们可以根据各位计算过程是否发生进位,分成若干段。
对于长度为1的段,我们可以把它们标为“单”, 图中为绿色部分。
对于长度大于1的段,每段最低位标为“末”,图中紫色部分,每段最高位标为“首”,图中红色部分,每段余下各位标为“中”,图中橙色部分。
如上图展示,对于属性相同的位,我们可以任意交换它们的位置而不改变结果的合法性,而且我们还可以任意重组所有的段。唯一的例外是如果一个“首”中包含0,那么我们不能把它安排在全局第一位。

所有合法的"首"要求两数之和不超过8,有8+0=9,7+1=9,7+0=8,6+2=9,6+1=8,6+0=7,...,0+8=9,0+7=8,...,0+0=1共(1+9)*9/2=45种不同的选择,其中包含0的有17种。
所有合法的“末”要求两数之和不小于10,有1+9=0,2+9=1,2+8=0,3+9=2,3+8=1,3+7=0,...,9+9=8,9+8=7,...,9+1=0共(1+9)*9/2=45种。
所有合法的“中”要求两数之和不小于9,有0+9=0,1+9=1,1+8=0,2+9=2,2+8=1,2+7=0,...,9+9=9,9+8=8,...,9+0=0共(1+10)*10/2=55种。
所有合法的"单"要求两数值和不超过9,有9+0=9,8+0=8,8+1=9,7+0=7,7+1=8,7+2=9,....,0+0=0,0+1=1,...,0+9=9共(1+10)*10/2=55种。
一个合法的结过首先需要选择相同数目的“首”和"末",余下的选择任意数目的“中”和"单",然后还额外要求三排中用到所有数字的数目相同。
然后对于这样选中的一个合法候选方案,我们可以先对“首”和"末"进行任意排列,排列好后将它们进行交替排列。然后将“中”任意插入某段(首末之间),将“单”任意插入段外。
需要注意的是,如果某个“首”包含0而且排在第一段,那么必须保证其前面有至少一个“单”。而这部分可以通过排列组合来计算,而不需要穷举,这样可以极大降低计算量。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 09:28 , Processed in 0.073048 second(s), 23 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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