题解 | 大整数的因子
#include<iostream>
using namespace std;
char yu(string n2, int k) {
int z1, c1 = 0;
for (int i = 0; i < n2.size(); i++) {
z1 = n2[i] - '0' + c1 * 10;
c1 = z1 % k;
z1 = z1 / k;
}
return c1 + '0';
}
int main() {
string c;
while (cin >> c) {
if (c == "-1")break;
int num = 0;
char p;
for (int k = 2; k <= 9; k++) {
p = yu(c, k);
if (p == '0') {
num++;
cout << k << " ";
}
}
if (num == 0)cout << "none";
cout << endl;
}
}