day 23 亲密数

1.从1开始遍历到给定上限,此时数记为M;

2.有数M,由循环去遍历每一个小于M的数,并由sum记录;

3.对sum,由循环去遍历每一个小于sum的数,并由flag记录;

4.满足flag==M&&M<sum,输出M,sum;

 

#include<iostream>

using namespace std;

int main(){
int Max,sum,flag;
printf("请输入上限数:");
cin>>Max;
for(int M=1;M<=Max;M++){
sum=0;
for(int i=1;i<M;i++){
if(M%i==0){sum+=i;}
}
flag=0;
for(int i=1;i<sum;i++){
if(sum%i==0){flag+=i;}
}
if(flag==M&&M<sum){printf("%d和%d是亲密数\n",M,sum);}
}
return 0;
}

 

posted @ 2023-05-09 20:55  The-rich  阅读(25)  评论(0)    收藏  举报