| 查看: 2146 | 回复: 14 | |||
| 本帖产生 3 个 程序强帖 ,点击这里进行查看 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
欧拉工程,第二十一题,计算10000以下亲和数的和。 已有5人参与
|
|||
|
咳咳,放假与睡觉之前再发一题,E文不好,诸位见谅哈~ 定义d(n)是n的所有约数的和。 如果d(a) = b,d(b) = a且满足a != b,则说a与b是一组亲和数。 例如,220的所有约数是1, 2, 4, 5, 10, 11, 20, 22, 44, 55与110,则d(220) = 284;而284的所有约数是1, 2, 4, 71与142,累加得:d(284) = 220。 试计算10000以下所有亲和数之和。 |
» 猜你喜欢
多组分精馏求助
已经有4人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有14人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有6人回复
免疫学博士有名额,速联系
已经有4人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Project Euler 50 欧拉工程 50 题
已经有12人回复
fluent的欧拉-拉格朗日法求助
已经有15人回复
欧拉气固两相流模拟
已经有5人回复
欧拉模型
已经有5人回复
Project Euler 48 欧拉工程 48 题
已经有30人回复
Project Euler 45 欧拉工程 45 题
已经有7人回复
Euler Project Q17. 欧拉工程第十七题
已经有4人回复
Euler Project Q13 欧拉工程第十三题
已经有20人回复
Euler Project Q12 欧拉工程第十二题
已经有23人回复
Euler Project Q8. 欧拉工程第八题
已经有4人回复
Euler Project Q7. 欧拉工程第七题
已经有14人回复
【求助】欧拉模型中颗粒相granular temperature定义
已经有6人回复
【求助】fluent模拟气固流化床采用欧拉模型并行计算出现问题
已经有12人回复
【求助】fluent模拟两段流化床采用欧拉和DPM模型问题
已经有11人回复
【求助】关于欧拉-拉格朗日方程(Euler-Lagrange equation)【已解决】
已经有11人回复
【求助】有谁知道这个是什么个离散方式啊,傅里叶,欧拉....?
已经有3人回复

★ ★
余泽成(金币+2): 鼓励交流! 2011-06-04 19:32:39
余泽成(金币+2): 鼓励交流! 2011-06-04 19:32:39
|
不过,我对你用的这个听感兴趣,呵呵 #include #define TIMERSTART clock_t start_time,stop_time;double elapsed_time;start_time = clock(); #define TIMERSTOP stop_time = clock();elapsed_time=(double)(stop_time-start_time)/CLOCKS_PER_SEC;printf("elapsed time=%f seconds.\n",elapsed_time); |
9楼2011-06-04 14:56:22
★ ★ ★
dubo(金币+1): 多谢交流 2011-06-04 14:42:08
余泽成(金币+2, 程序强帖+1): 鼓励交流! 2011-06-04 19:31:23
dubo(金币+1): 多谢交流 2011-06-04 14:42:08
余泽成(金币+2, 程序强帖+1): 鼓励交流! 2011-06-04 19:31:23
|
C++代码: #include enum {BUFSZ = 10000}; size_t eular21(){ size_t buf[BUFSZ]; memset(buf, 0, sizeof buf); for(size_t i = 1; i < BUFSZ; ++i){ for(size_t j = i+i; j < BUFSZ; j+=i){ buf[j] += i; } } size_t d, s = 0; for(size_t i = 2; i < BUFSZ; ++i){ d = buf[i]; if(i == buf[d]){ if(i != d) s += i; } } return s; } int main(){ std::cout< |

2楼2011-06-02 22:34:29
wangww2011
木虫 (著名写手)
- 程序强帖: 13
- 应助: 11 (小学生)
- 金币: 4023.1
- 散金: 2709
- 红花: 18
- 沙发: 1
- 帖子: 1915
- 在线: 1537.1小时
- 虫号: 772953
- 注册: 2009-05-17
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 14:43:26
余泽成(金币+2): 鼓励交流! 2011-06-04 19:31:33
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 14:43:26
余泽成(金币+2): 鼓励交流! 2011-06-04 19:31:33
|
结果 31626 elapsed time=0.020000 seconds. c代码 #include #include #include #define TIMERSTART clock_t start_time,stop_time;double elapsed_time;start_time = clock(); #define TIMERSTOP stop_time = clock();elapsed_time=(double)(stop_time-start_time)/CLOCKS_PER_SEC;printf("elapsed time=%f seconds.\n",elapsed_time); int sumdivisors(int n){ int i,sum=1,sqrtn=sqrt(n); for(i=2;i } if(sqrtn*sqrtn==n)sum-=sqrtn; return sum; } int euler21(int n){ int i,sum=0,tmp; for(i=3;i if(tmp!=i&&tmp } } return sum; } int main(void){ int i; TIMERSTART; printf("%d\n",euler21(10000)); TIMERSTOP; return 0; } |
3楼2011-06-03 13:22:19
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 14:43:53
余泽成(金币+2, 程序强帖+1): 鼓励交流! 2011-06-04 19:31:45
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 多谢交流 2011-06-04 14:43:53
余泽成(金币+2, 程序强帖+1): 鼓励交流! 2011-06-04 19:31:45
|
看笨拙的matlab吧 function result = euler21() tic; result = []; for i=1:10000 if d(i)~=i && d(d(i))==i result = [result,i]; end end result = sum(unique(result)); toc; end %% Let d(n) denote the sum of proper divisors of n (numbers less than n which divide evenly into n). % For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. % sub function to compute d(n), called by 21 and 23 function s = d(n) s = 0; for i=1:n-1 if mod(n,i)==0 s = s+i; end end end |

4楼2011-06-03 16:36:21













回复此楼