题解 | #大整数的因子#

大整数的因子

https://www.nowcoder.com/practice/3d6cee12fbf54ea99bb165cbaba5823d

//大整数除法,高精度除以低精度
#include<iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include<vector>
using namespace std;


int divide(string number, int  divided ) {
    int mod = 0;
    for (int i = 0; i < number.size(); i++) {
        int data = mod * 10 + (number[i] - '0');
        mod = data % divided;
    }
    return mod;
}

int main() {
    string number;
    while (cin >> number) {
        if (number == "-1") {
            break;
        }

        vector<int>k_list;
        for (int k = 2; k <= 9; k++) {
            int mod = divide(number, k);
            if (mod == 0) {
                k_list.push_back(k);
            }
        }
        for (int i = 0; i < k_list.size(); i++) {
            printf("%d", k_list[i]);
            printf(i < k_list.size() - 1 ? " " : "\n");
        }
        if (k_list.empty() == true) {
            cout << "none" << endl;
        }
    }


}

全部评论

相关推荐

牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务