問題描述:
婚約數指兩個正整數中,彼此除了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");
}
測試案例: