友好数对
Posted yuanqingwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了友好数对相关的知识,希望对你有一定的参考价值。
题意描述:
输入两个正整数m和n,顺序输出m到n之间的所有友好数对。
如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对
解题思路:
编写函数计算出m-n每个整数的所有正因子之和,然后利用函数算出该因子和的因子和是否等于该数本身,输出原整数与其因子和。
代码实现:
#include<stdio.h>
int facsum(int n)
{
int i,sum=0;
for(i=1;i<n;i++)
{
if(n%i==0)sum+=i;
}
return sum;
}
int main()
{
int m,n,i,k=0,find=0,t=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
t=facsum(i);
if(facsum(t)==i&&t>i)
{
find=1;
printf("%d %d
",i,t);
}
}
if(find==0)printf("No answer
");
return 0;
}
易错分析:
没有准确理解数组应用,和友好数对的真正含义,大费周章,造成了不必要的杂乱。
以上是关于友好数对的主要内容,如果未能解决你的问题,请参考以下文章