所谓亲和数就是:
定义数对 (x,y) 为亲和数对当且仅仅当x、y为不同正整数,且x、y各自的所有非自身正因子之和等于另一个数。例如 (220,284) 和 (280,224) 都是亲和数对,因为:
220的所有非自身正因子之和为:1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284
284的所有非自身正因子之和为:1 + 2 + 4 + 71 + 142 = 220
数对 (x,y ) 跟 (y,x) 被认为是同一数对,所以我们只考虑 x<y 的情况。
i对某个范围内的亲和数对的数量非常感兴趣,所以希望你能帮她编写一个程序计算给定范围内的亲和数对的数量。给定一个范围A到B,如果A≤ x ≤ B,则我们称 (x,y)在范围[A,B]内。
我自己写了个~但是结果不对.for下面的while()怎么用.我自己想当然的用的~.....谢谢帮助.
#include <stdio.h>
main()
{
int x,y,i,j,t,sum,n=0,k=0;
printf("请输入两个不相等的数x,y:\n");
scanf("%d%d",&x,&y);
if(x>y)
t=x;x=y;y=t;
for(i=x;i<=y;i++)
for(j=1;j<i;j++)
{
while(i%j==0)
{
sum=n+j;
}
if(sum>i&&sum<=y)
{
k++;
}
}
sum=0;
printf("%d",k);
}