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、结果实现