HDU2040-亲和数
2016-04-07 21:09
281 查看
题目出自杭电
![](http://img.blog.csdn.net/20160407195656523)
首先解释何谓亲和数
亲和数是对于两个数来说的。如果两个数a和b,a的所有除本身以外的因数之和等于b,b的所有除本身以外的因数之和等于a,则称a,b是一对亲和数。
思路:对于输入的数A,算出它的所有真约数的和C,若C=B,则A和B是亲和数。反之不是。
上代码
写在最后:亲和数的传说很有意思⊙▽⊙
据说,毕达哥拉斯的一个门徒向他提出这样一个问题:“我结交朋友时,存在着数的作用吗?”毕达哥拉斯毫不犹豫地回答:“朋友是你的灵魂的倩影,要像220和284一样亲密。”又说“什么叫朋友?就像这两个数,一个是你,另一个是我。”从此,把220和284叫做“亲和数”或者叫“朋友数”或叫“相亲数”。这就是关于“亲和数”这个名称来源的传说。220和284是人类最早发现,又是最小的一对亲和数。
yeah~my friend 你是我的220,我是你的284。
首先解释何谓亲和数
亲和数是对于两个数来说的。如果两个数a和b,a的所有除本身以外的因数之和等于b,b的所有除本身以外的因数之和等于a,则称a,b是一对亲和数。
思路:对于输入的数A,算出它的所有真约数的和C,若C=B,则A和B是亲和数。反之不是。
上代码
#include <stdio.h> int n,m; int sum(int n) { int sum =1,i=2; while(n>i) { if(n%i==0) { sum += i; }i++; } return sum; } int main() { int n,m,a; scanf("%d",&a); getchar(); while(a--) { scanf("%d %d",&n,&m); if(sum(n)==m && n==sum(m)) printf("YES\n"); else printf("NO\n"); } return 0; }
写在最后:亲和数的传说很有意思⊙▽⊙
据说,毕达哥拉斯的一个门徒向他提出这样一个问题:“我结交朋友时,存在着数的作用吗?”毕达哥拉斯毫不犹豫地回答:“朋友是你的灵魂的倩影,要像220和284一样亲密。”又说“什么叫朋友?就像这两个数,一个是你,另一个是我。”从此,把220和284叫做“亲和数”或者叫“朋友数”或叫“相亲数”。这就是关于“亲和数”这个名称来源的传说。220和284是人类最早发现,又是最小的一对亲和数。
yeah~my friend 你是我的220,我是你的284。
相关文章推荐
- 轻松去掉wps热点
- Android自定义View或ViewGroup的流程
- SpringMVC介绍之Validation
- 【亲测有效】Matalb2015b资源下载地址
- 第五周作业
- JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-003Table per concrete class with unions(@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)、<union-subclass>)
- hdu4585(Treap)
- leetcode刷题,总结,记录,备忘114
- 数据库误删除恢复
- Visual Studio 2015 使用时的一些错误
- JS页面跳转(转载)
- 7周
- everything is object
- Android开发文档翻译之——Bound Services
- 结队编程(一)
- 《Linux内核分析》第七周笔记 可执行程序的装载
- Python Requests快速入门
- 匿名存储过程块学习
- Java中&&和&以及||和|的区别
- 游戏底层逻辑,运动&&寻路(一)