C++信奥赛题目 1154:亲和数
1154:亲和数时间限制: 1000 ms 内存限制: 65536 KB 提交数: 41239 通过数: 24946 【题目描述】自然数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 "a.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int getdata(int num){
int sum=0;
for (int i=1;i<num;i++){
if(num%i==0){
sum+=i;
}
}
return sum;
}
int main() { //end line
for(int a=4;a<10000;a++){
int b=getdata(a);
int sum=getdata(b);
if(b!=1 && sum!=1 && a!=b){
if(sum==a){
cout<<a<<"的因子之和是:"<<b<<"--的因子之和是"<<sum<<endl;
cout<<"******************"<<endl;
break;
}
}
}
}
本文来自博客园,作者:童心少年,转载请注明原文链接:https://www.cnblogs.com/makeblock/p/17080052.html