C语言题目求解 详细程序

C语言题目求解详细程序上机题:亲密数问题。如果整数A的全部因子(包括1,但不包括A本身)之和等于B,且整数B的全部因子(包括1,但不包括B本身)之和等于A,A和B不相等的... C语言题目求解 详细程序上机题:

亲密数问题。如果整数A的全部因子(包括1,但不包括A本身)之和等于B,且整数B的全部因子(包括1,但不包括B本身)之和等于A, A和B 不相等的情况下,则将整数A和整数B称为“亲密数”。求出5000以内所有的亲密数。

说明:

(1)本次上机只有一个题目;

(2)一定要使用函数求因子之和;

(3)不允许输出重复的亲密数。如220—284 亲密数,我们仅仅需要输出220—284,但不要输出284—220。
展开
 我来答
newchinays
2017-11-30 · TA获得超过1172个赞
知道小有建树答主
回答量:1238
采纳率:48%
帮助的人:381万
展开全部
#include <stdio.h>

int sumOfFactors(int numA)
{
    int i=1;
    int numB;

    for(numB = 0; i<=numA/2; i++)
    {
        if(!(numA%i))
            numB+= i;
    }
    return numB;
}

void main()
{
    int numA,numB,numN;
    printf("显示5000以内的亲密数:\n");

    for(numA = 1; numA<=5000; numA++)
    {
        //计算numA的各个因子,同样循环
        numB = sumOfFactors(numA);

        //计算numB的各个因子,同样循环
        numN = sumOfFactors(numB);

        if(numN==numA&&numA<numB)
            printf("%d--%d        ",numA,numB);
    }
}

网页链接

追问
谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式