| 查看: 3381 | 回复: 23 | |||
| 本帖产生 7 个 程序强帖 ,点击这里进行查看 | |||
libralibra至尊木虫 (著名写手)
骠骑将军
|
[交流]
Euler Project Q12 欧拉工程第十二题已有9人参与
|
||
|
Question 12: The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... Let us list the factors of the first seven triangle numbers: 1: 1 3: 1,3 6: 1,2,3,6 10: 1,2,5,10 15: 1,3,5,15 21: 1,3,7,21 28: 1,2,4,7,14,28 We can see that 28 is the first triangle number to have over five divisors. What is the value of the first triangle number to have over five hundred divisors? 翻译: 自然数求和可生成三角数列.第七个三角数是1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.前10个三角数列元素是: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... 下面列出前7个三角数及其整除数: 1: 1 3: 1,3 6: 1,2,3,6 10: 1,2,5,10 15: 1,3,5,15 21: 1,3,7,21 28: 1,2,4,7,14,28 可以看出,28是第一个有超过5个整除数的三角数. 那么,第一个有超过500个整除数的三角数是多少? [ Last edited by libralibra on 2011-5-17 at 05:41 ] |
» 猜你喜欢
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有4人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
ACS Applied Polymer Materials投稿
已经有10人回复
RSC ADV状态问题
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助:量子场论中怎么从欧拉-拉格朗日方程和noether‘s 定理推导出电磁场方程
已经有10人回复
Project Euler 50 欧拉工程 50 题
已经有12人回复
欧拉模型
已经有5人回复
Project Euler 48 欧拉工程 48 题
已经有30人回复
Project Euler 45 欧拉工程 45 题
已经有7人回复
欧拉工程,第二十一题,计算10000以下亲和数的和。
已经有14人回复
Euler Project Q17. 欧拉工程第十七题
已经有4人回复
Euler Project Q13 欧拉工程第十三题
已经有20人回复
Euler Project Q8. 欧拉工程第八题
已经有4人回复
【求助】fluent模拟气固流化床采用欧拉模型并行计算出现问题
已经有12人回复
【求助】fluent模拟两段流化床采用欧拉和DPM模型问题
已经有11人回复
【求助】DMP模型可以和混合物模型或者欧拉模型连用吗?
已经有6人回复
【求助】欧拉-拉格朗日方程”(Euler-Lagrange equation)的用途?【已解决】
已经有5人回复
【求助】关于欧拉-拉格朗日方程(Euler-Lagrange equation)【已解决】
已经有11人回复

libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2011-05-17 05:38:26

3楼2011-05-17 11:10:45
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
4楼2011-05-17 12:54:30
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 好详细的分析! 2011-05-17 22:24:53
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 好详细的分析! 2011-05-17 22:24:53
|
想到一个依赖组合计数的算法: 首先分析特殊情况,对于一个a1*a2*a3*a4*...*an=A酱紫的数,假定a1 2, 3, 5, 7 6, 10, 14,15, 21,35 30, 70,105,42 210 麻烦的问题是不完全是素数的情况,对于任意C=A*B,令A和B为素数积,当且仅当AB没有交集的时候C才是素数积,否则就带来可可怕的乘方,乘方会产生很多相同的因数。为了解决这个问题,需要分析素数的乘方能产生多少个相同解: 首先分析下素数乘方可能产生的相同解个数,假定某数可以分解出n个相同的素数因子:a1,a2,...an,这些因子的恼人之处就在于,不同的乘数可能产生相同的乘积,原本这些乘积是独立计数的,最终却需要剔除。一个简单的解决办法是,将n个数叠起来,使它们像这样:a1, a1^2, a1^3...a1^n,对这样的数列再次应用素数组合,但分析的时候要独立分析:这些数中只取一个的时候,产生独立解,其余的情况,都不能再计数,理由是,数列中的任意数的组合要么相同,要么不可能产生。因此,对于n个素数相同的情形,只能将其算一个素数的组合位置,但是要记入n种状况。最终的组合要借助计算机来完成,举例如下: 8*6 = 2*2*2*2*3,分离素数乘方表和素数表,得 乘方表:2,4,8,16,素数表2,3 在2的位置需要替换4种情况,当C21时,2本来只计数1,现在需要计数4,C22时2*3本来只有一个解,现在有4个解。对于2和3而言,原本的解像这样: 2, 3, 2*3 现在的解要将4个值替换到2的位置: 2,4,8,16,3,2*3,4*3,8*3,16*3 在更多情况下和这个类似,如果是24*6 = 2*2*2*3*2*3,分离出来的素数表仅有2,3,乘方表则有两个:2,4,8,16和3,9 原来的解是2,3,2*3,分两遍替换进去就成了这样: 替换2变成:2,4,8,16,3,2*3,4*3,8*3,16*3 再替换掉3变成:2,4,8,16,3,9,2*3,2*9,4*3,4*9,8*3,8*9,16*3,16*9 可以看到,由于无法知道哪个数是需要替换的,所以也无法直接构建公式,光组合算法还不成,得在组合算法之上再递归计数。 生成因数表和递归计数都不是啥问题,问题是组合算法,排列组合的算法的复杂度很高啊… |

5楼2011-05-17 13:41:19
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流! 2011-05-17 22:26:43
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流! 2011-05-17 22:26:43
|
素数表倒是不需要估计,俺给出的这个素数算法可以动态定制素数表,在参数里面传递函数指针进去就可以随意处理每个素数。不过这个算法有点小bug,会漏掉一个数的测试,修改offset为3的倍数,BUFSZ修改为6的倍数即可解决这个问题。http://muchong.com/bbs/viewthread.php?tid=3192387&fpage=2#pid1151737 [ Last edited by huycwork on 2011-5-17 at 14:31 ] |

6楼2011-05-17 13:54:55
sudo
木虫 (正式写手)
- 程序强帖: 16
- 应助: 6 (幼儿园)
- 金币: 1297.6
- 散金: 1486
- 红花: 20
- 帖子: 588
- 在线: 641小时
- 虫号: 1211394
- 注册: 2011-02-24
- 性别: GG
- 专业: 文艺美学
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 谢谢参与交流! 2011-05-17 22:28:58
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 谢谢参与交流! 2011-05-17 22:28:58
嗯,有空我拜读一下~话说你5楼的算法复杂化了... 像4楼的算法就直接应用排列组合里面的乘法定理就出来了,不需要那么麻烦的 先以你举的210=2*3*5*7为例: 因数一共有16个: 1, 2, 3, 5, 7 6, 10, 14,15, 21,35 30, 70,105,42 210 从质因数的指数上很容易看出来,质因数2可以取0个或1个(2种取法),质因数3可以取0个或1个(2种取法),同理质因数5和7分别都可以有两种取法,故因数总数为: 2*2*2*2=16个 这就很好算出来 再举144 = 2^4 * 3^2为例 质因数2可以有5种取法,质因数3一共有3种取法,所以因数总数为 5*3=15个 这么做是没有重复的,因为因数本身也是质因的组合......这个方法比较直观......[ Last edited by sudo on 2011-5-17 at 14:23 ] |
7楼2011-05-17 14:18:50
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

8楼2011-05-17 14:32:38

9楼2011-05-17 14:40:11
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

10楼2011-05-17 15:55:18













回复此楼

嗯,有空我拜读一下~
这么做是没有重复的,因为因数本身也是质因的组合......这个方法比较直观......