题解 | #完数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")