题解 | #大整数的因子#
大整数的因子
https://www.nowcoder.com/practice/3d6cee12fbf54ea99bb165cbaba5823d
#include <iostream> #include<vector> using namespace std; bool divide(string s,int a) { int remainder=0; for(int i=0;i<s.size();i++) { int current=remainder*10+s[i]-'0'; s[i]=current/a; remainder=current%a; } if(!remainder)return true; else return false;//有余数 } int main() { string s; while (cin >> s) { // 注意 while 处理多个 case if(s=="-1")break; vector<int>a; for(int i=2;i<=9;i++) { if(divide(s,i)) { a.push_back(i); } } int size=a.size(); if(!size)cout<<"none"<<endl; else { for(int i=0;i<size-1;i++) { cout<<a[i]<<" "; } cout<<a[size-1]<<endl; } } } // 64 位输出请用 printf("%lld")