c++打卡第二十四天

一、亲密数

1、问题描述

 2、设计思路

①、我们可以设计函数计算一个数的因子,将这些因子相加到一起,返回和并对这个返回值重新调用求因子函数,如果这个函数返回值为A,那么这两个数为亲密数,打印出AB。

②、求因子可以对A进行2~A的遍历,同时c除余d,如果余数为0,那么d就是c的因子。

3、流程图

 4、代码实现

#include<iostream>
using namespace std;
int qyz(int a)
{
    int count=0;
    for(int i=1;i<a;i++)
    {
        if(a%i==0)
        {
            count+=i;
        }
     } 
     return count;
}
int main()
{
    int A,B;
    for(A=2;A<=3000;A++)
    {
        B=qyz(A);
        if((A==qyz(B))&&(A!=B)&&(A<B))
        {
            cout<<"两个亲密数为:"<<A<<" "<<B<<endl; 
        }
     } 
    return 0;
 } 

5、结果实现

 

posted @ 2023-05-12 22:11  七安。  阅读(14)  评论(0编辑  收藏  举报