【题目描述】
自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 求最小的一对亲和数(a<b)。
【输入】
(无)
【输出】
1行,分别为a和b(a<b)。
【输入样例】
(无)
【输出样例】
(无)
# include <iostream>
# include <iomanip>
# include <algorithm>
# include <cmath>
using namespace std;
int qh(int n){
int sum=0;//定义一个求和数sum
for(int i=1;i<n;i++){//从1开始循环到n之前停止
if(n%i==0){//如果是n的因子累加
sum+=i;
}
}
return sum;//返回求和数
}
int main(){
int a,b;//定义一对数字a,b
for(int a=0;;a++){//让a从0开始无限循环,并且累加1
b=qh(a);//令b的值等于a的因子之和
if(a==qh(b)){//如果b的因子之和等于a
if(a<b){//且条件给出a<b
cout<<a<<" "<<b<<endl;//中间有空格输出
break;//结束循环
}
}
}
}