//
// Created by alleyf on 2023/8/17.
//
#include<bits/stdc++.h>
using namespace std;
int judge_EG(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; ++i) {
if (num % i == 0)
sum += i;
}
if (sum == num)
return 1;
else if (sum > num)
return 2;
return 0;
}
int main() {
string E = "E:", G = "G:";
for (int i = 2; i <= 60; ++i) {
if (judge_EG(i) == 1)
E += " " + to_string(i);
else if (judge_EG(i) == 2)
G += " " + to_string(i);
}
cout << E << endl << G;
}
思路:获取一个数的所有因子可以通过循环取余,判断余数是否为零来获得,若为零则为因子,反之不为因子
细节:关键在于格式输出的问题