欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

计算机考研复试之KY39大整数的因子(c++)

时间:2023-06-04



思路分析

运用大整数相除技巧即可。
大整数听起来高大上,但实际上就是我们小学学过的手算除法的步骤。
此处不多叙述,若不了解,见整除百科


代码解析

#include#includeusing namespace std;vector vec;bool judge(string c,int k){ //余数 int reminder = 0; //大整数相除判断 for(int i = 0;i < c.size();++i) reminder = (reminder * 10 + (c[i] - '0')) % k; //余数不为0,即不可整除 if(reminder) return false; return true;}int main(){ string c; while(cin >> c && c != "-1"){ vec.clear(); //依次相除判断即可 for(int k = 2;k <= 9;++k) if(judge(c,k)) vec.push_back(k); for(auto it : vec) cout << it << " "; //若不存在 if(vec.size() == 0) cout << "none"; cout << endl; }}


运行结果

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。