zoukankan      html  css  js  c++  java
  • zzuli oj 1105 友好数对

    题意描述:
    输入两个正整数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
    ",i,t);
    22         }
    23     }
    24     if(find==0)printf("No answer
    ");
    25     return 0;
    26 }

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

  • 相关阅读:
    HTTP响应状态码
    跨域
    第一章-极限与函数
    离群点检测
    关联规则(初识)
    python分类预测模型的特点
    分类预测算法评价(初识)
    人工神经网络(初识)
    决策树(初识)
    挖掘建模
  • 原文地址:https://www.cnblogs.com/yuanqingwen/p/10351758.html
Copyright © 2011-2022 走看看