题解 | #大整数的因子#

大整数的因子

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;
        }
    }


}

全部评论

相关推荐

11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
qz鹿:*** 祝他毕业就失业
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-29 12:19
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务