mlnk

导航

 

一.问题描述
如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。
二.设计思路
让a从1开始到3000遍历,每次中找a的余数,和为b,再找b的余数,和为t,若t等于a,则符合亲密数,输出。
三.程序流程图

四.伪代码实现
#include<bits/stdec++.h>
using namespace std;
int main()
{
int a,b=0,t=0;
int n=3000;
for(int a=2;a<=n;a++)
{
        for(int i=1;i<a;i++)
{
if(a%i==0)
{
b=b+i;
}
}
for(int i=1;i<b;i++)
{
if(b%i==0)
{
t=t+i;
}

}
if(t==a&&a!=b&&a<b)
{
cout<<a<<"   "<<b<<endl;
}
t=0;b=0;
}
}
五.代码实现

 

posted on 2023-05-09 23:58  梦里南柯w  阅读(42)  评论(1)    收藏  举报