ALGO-118 算法训练 友好数

逃离我推掉我的手 2022-05-26 05:54 289阅读 0赞

问题描述

  有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:
  9的约数和有:1+3=4
  4的约数和有:1+2=3
  所以9和4不是友好的。
  220的约数和有:1 2 4 5 10 11 20 22 44 55 110=284
  284的约数和有:1 2 4 71 142=220
  所以220和284是友好的。
  编写程序,判断两个数是否是友好数。

输入格式

  一行,两个整数,由空格分隔

输出格式

  如果是友好数,输出”yes”,否则输出”no”,注意不包含引号。

样例输入

220 284

样例输出

yes

数据规模和约定

  两个整数都小于10000

代码:

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int n,m;
  6. int sum_n=0,sum_m=0;
  7. cin >> n >> m;
  8. int max = n > m ? n : m;
  9. for(int i=1;i<=n/2;i++)
  10. {
  11. if( n % i == 0 ) sum_n += i;
  12. }
  13. for(int i=1;i<=m/2;i++)
  14. {
  15. if( m % i == 0 ) sum_m += i;
  16. }
  17. if(sum_m == n && sum_n == m) cout << "yes";
  18. else cout << "no";
  19. return 0;
  20. }

发表评论

表情:
评论列表 (有 0 条评论,289人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ALGO-105 算法训练 黑色星期五

    问题描述   有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多