ALGO-117算法训练 友好数(c++)

版权声明:Nicolas https://blog.csdn.net/qq_42835910/article/details/85262047

 算法训练 友好数  

时间限制:1.0s   内存限制:256.0MB

    

问题描述

  有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:
  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

扫描二维码关注公众号,回复: 4662975 查看本文章

样例输出

yes

数据规模和约定

  两个整数都小于10000

#include <iostream>
using namespace std;

int main(int argc, char** argv) {
	int m,n;
	cin>>m>>n;
	int a=0,b=0;
	for(int i=1;i<=m/2;i++)
		if(m%i==0)
			a+=i;
	for(int i=1;i<=n/2;i++)
		if(n%i==0)
			b+=i;
	if(a==n && b==m)
		cout<<"yes"<<endl;
	else
		cout<<"no"<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42835910/article/details/85262047
今日推荐