题解 | #完数VS盈数#
完数VS盈数
https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int j = 1;
int a=0,b=0;
int* E = (int* )malloc(sizeof(int ) * 60);
int* G = (int* )malloc(sizeof(int ) * 60);
/**********准备工作完成**************************/
for (int i = 2; i <= 60; i++) {
for (; j < (i / 2) + 1; j++) {
if (i % j == 0)sum += j;
}
if(sum==i) E[a++]=i;
else if(sum>i) G[b++]=i;
sum=0;
j=1;
}
cout<<"E:"<<" ";
for(int i=0;i<a;i++){
cout<<E[i]<<" ";
}
cout<<endl;
cout<<"G:"<<" ";
for(int i=0;i<b;i++){
cout<<G[i]<<" ";
}
}
// 64 位输出请用 printf("%lld")