问题描述:
婚约数指两个正整数中,彼此除了1和本身的其余所有约数的和与另一方相等,例如(48,75)。
48 除1和本身所有约数相加是:2+3+4+6+8+12+16+24=75
75 除1和本身所有约数相加是:3+5+15+25=24
编译环境VC++6.0;
代码:
#include <stdio.h>
int HunYue(int x)
{
int sum=0;
for(int i=2;i<=x/2;i++)
if(x%i==0)
sum+=i;
return sum;
}
int main()
{
int data1,data2;
printf("输入一个数\n");
scanf("%d",&data1);
data2=HunYue(data1);
if(HunYue(data2)==data1)
printf("存在婚约数%d\n",data2);
else
printf("不存在婚约数\n");
}
测试案例: