2988 - 【函数】亲和数
时间限制 : 1 秒
内存限制 : 128 MB
上机练习6.1.5 自然数a的因子是指能被a整除的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 。求最小的一对亲和数(a<>b)。
题目输入
无输入。
题目输出
最小的一对亲和数(两数不相等哦),小数在前大数在后,中间用一个空格分隔。
输入/输出样例
输入格式
输出格式
C语言解答
#include<stdio.h> #include<math.h> int main() { int i,f,x,y; i=2; f=0; while(f!=1) { x=i; y=yinzi(i); if(x==yinzi(y)&&x!=y) { printf("%d %d",x,y); f=1; } i++; } } int yinzi(int a) { int i,s; s=0; for(i=1;i<=a-1;i++) if(a%i==0) s=s+i; return s; }
C++解答
#include<iostream> #include<cstdio> using namespace std; int qhs(int); int main() { int a,b,f=1; a=2;b=0; while (f) { b=qhs(a); if ((a==qhs(b))&&(a!=b)) { cout<<a<<' '<<b<<endl; f=0; } a=a+1; } return 0; } int qhs(int n) { int s=0; for (int i=1; i<n; i=i+1) if (n % i ==0) s+=i; return s; }