问题 6226 --亲密数对

6226: 亲密数对★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 582  解决: 446
[提交][状态][命题人:]

题目描述

如果整数A的全部因子(包括1,不包括A本身)之和等于整数B, 
整数B的全部因子(包括1,不包括B本身)之和等于整数A, 而且A,B两个数不相等,
则称整数A和整数B为亲密数对。
找出1~n中的最小的一对亲密数并输出(确保A是所有亲密数对中最小的)。如果找不到,则输出“NULL” 。  

#include<iostream>
using namespace std;
int main(){
	int i,n;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		_____(1)______;
		for(int j=2;____(2)______;j++)
			if(i%j==0) m+=j;
		if(m==i) continue;
		int fm=1;
		for(int j=2;j<m;j++)
			if(m%j==0) fm+=j;
		if(_____(3)_______)
		{
			cout<<i<<" "<<m<<endl;
			_____(4)_______;
		}
	}
	if(i==n+1)
		cout<<"NULL\n";
	return 0;
}


输入

输出

样例输入
Copy
1000 
样例输出
Copy
220 284

提示

来源

[提交][状态]