c语言编程 3-3. 求亲密数 有加分

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:42:54
若正整数A的全部约数(包括1,不包括A本身)之和等于B ; 且整数B的全部约数(包括1,不包括B本身)之和等于A,则 A 、 B 为亲密数。编程,输入正整数A,输出亲密数 A , B(A<=B) ,若不存在亲密数,则输出 No output 。

输入: 正整数 A

输出: 形如 A-B 的 亲密数对

#include <stdio.h>

int main( )
{
int a, b = 0, i, t = 0;
scanf("%d", &a);
for ( i = 1; i <= a / 2; i++ )
{
if ( a % i == 0 )
b += i;
}
for ( i = 1; i <= b / 2; i++ )
{
if ( b % i == 0 )
t += i;
}
if ( t != a || a > b )
printf("No output");
else printf("%d-%d", a, b);
return 0;
}

我现在没空,等我把我的事忙完了帮你看看吧!