【题目描述】
自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 。求最小的一对亲和数(a<>b)。
【输入】
(无)
【输出】
1行,分别为a和b(a<b)。
【输入样例】
(无)
【输出样例】
(无)
#include<iostream>
using namespace std;
/*
1.求a得公约数
2.求约数之和sum1
3.求sum1得公约数
4.求约数之和sum2
*/
int gys(int);
int main(){
for(int i=1;i<=9999;i++){
if(i==gys(gys(i))&&i!=gys(i)){
cout<<i<<' '<<gys(i)<<endl;
break;
}
}
return 0;
}
int gys(int x){
long int i;
long int ans=0;
for(int i=1;i<x/2+1;i++)
if(x%i==0)
ans+=i;
return ans;
}
亲和数对求解
本文探讨了如何通过编程寻找最小的一对亲和数。亲和数是指两个自然数,其中一个数的所有真因子之和等于另一个数,反之亦然。文章提供了一段C++代码,演示了求解过程,包括求取因子之和及验证亲和数对的逻辑。
782

被折叠的 条评论
为什么被折叠?



