zoukankan      html  css  js  c++  java
  • 1105: 判断友好数对(函数专题)

    题目描述

    输入两个正整数m和n,顺序输出m到n之间的所有友好数对。

    如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为
    1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=1210
    1210的因子之和为1+2+5+10+11+22+55+110+121+242+605=1184
    要求程序定义一个facsum ()函数和一个main()函数,facsum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。
    int facsum (int n)
    {
    //计算n的所有正因子之和sum,本函数返回sum
    }
    对于C/C++代码的提交,本题要求必须通过定义facsum函数和main函数实现,否则,提交编译错误,需要提交完整的程序代码。

    输入

    输入两个正整数m和n,1<m<=n<=10000。

    输出

    输出m和n之间的所有友好数对。
    在输出每个友好数对时,要求小数在前、大数在后,并去掉重复的数对。例如,220和284是一对友好数,而284和220也是一对友好数,此时只需输出220和284这对友好数。每个友好数对占一行,两数之间用空格隔开。

    如果m和n之间没有友好数对,则输出“No answer”。

    样例输入

    100 8000
    

    样例输出

    220 284
    1184 1210
    2620 2924
    5020 5564
    6232 6368
    
    #include<stdio.h>
    
    int facsum (int n) 
    { 
    int sum=0;
        for(int i=1;i<n;i++)
            if(n%i==0)
                sum+=i;
            return sum;
    
    } 
    int main()
    {
        int flag=0;
        int n,m,tem;
        scanf("%d%d",&m,&n);
        for(int i=m;i<n;i++)
        {tem=facsum (i);
        if(i==facsum (tem)&&i<tem)
        {printf("%d %d
    ",i,tem);
        flag=1;}
        }
        if(flag==0)
            printf("No answer");
        return 0;
    
    
    }
  • 相关阅读:
    IDEA插件Mybatis logs不打印Mybatis 或者 Mybatis -plus 的SQL日志
    JRebel启动报错,但不影响正常运行JRebel: ERROR Class 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor' could not be processed by .....
    自增运算符 ++
    赋值操作符 =
    逻辑操作符
    算术操作符
    变量类型
    打印,注释,空白
    Java开发环境的安装和配置
    java应用背景
  • 原文地址:https://www.cnblogs.com/binanry/p/10017337.html
Copyright © 2011-2022 走看看