码迷,mamicode.com
首页 > 其他好文 > 详细

zzuli oj 1105 友好数对

时间:2019-02-04 15:26:11      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:==   代码实现   输出   amp   没有   实现   return   style   for   

题意描述:
输入两个正整数m和n,顺序输出m到n之间的所有友好数对。
如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对
解题思路:
编写函数计算出m-n每个整数的所有正因子之和,然后利用函数算出该因子和的因子和是否等于该数本身,输出原整数与其因子和。
代码实现:

 1 #include<stdio.h>
 2 int facsum(int n)
 3 { 
 4     int i,sum=0;
 5     for(i=1;i<n;i++)
 6     {
 7         if(n%i==0)sum+=i;
 8     }
 9     return sum;
10 }
11 int main()
12 {
13     int m,n,i,k=0,find=0,t=0;
14     scanf("%d%d",&m,&n);
15     for(i=m;i<=n;i++)
16     {
17         t=facsum(i);
18         if(facsum(t)==i&&t>i)
19         {
20             find=1;
21             printf("%d %d\n",i,t);
22         }
23     }
24     if(find==0)printf("No answer\n");
25     return 0;
26 }

易错分析:
没有准确理解数组应用,和友好数对的真正含义,大费周章,造成了不必要的杂乱。

zzuli oj 1105 友好数对

标签:==   代码实现   输出   amp   没有   实现   return   style   for   

原文地址:https://www.cnblogs.com/yuanqingwen/p/10351758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!