5.12

一、问题描述:

如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。

二、设计思路:

1、首先定义变量 a,并为其赋初值为某个整数。则按照亲密数定义,要判断α中存放的整数是否有亲密数,只要计算出该整数的全部因子的累加和,并将该累加和存放到另一个变量b中,此时b中存放的也是一个整数。

2、再计算b中存放整数的全部因子的累加和,将该累加和存放到变量n中。、首先定义变量a,并为其赋初值为某个整数.则按照亲密数定义,要判断α中存放的整数是否有亲密数,只要计算出该整数的全部因子的累加和,并将该累加和存放到另一个变量b中,此时b中存放的也是一个整数.再计算b中存放整数的全部因子的累加和,将该累加和存放到变量n中.

三、程序流程图:

四、代码示例:

#include<stdio.h>
int main()
{
    int A;
    int sum;
    int B;
    int n;
    scanf("%d",&A);
    int i,j;
    for(j=0;j<A;j++)
    {
        
    for(sum=0,i=1;i<=j/2;i++)
      {
        if(j%i==0)
        {
            sum+=i;
        }    
      }
    
        for(B=0,n=1;n<=sum/2;n++)
        {
            if(sum%n==0)
            {
                B+=n;
            }
        }
        if(B==j&&j<sum)
            printf("亲密数%d--%d\n",j,sum);
        
    }
    return 0;
}

 

posted @   new菜鸟  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示