题解 | #大整数的因子#

大整数的因子

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

给大家一个完整的大数除法模板,而且返回了余数。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> div(vector<int> &A, int b, int &r)
{
    vector<int> C;
    r = 0;
    for (int i = A.size() - 1; i >= 0; --i)
    {
        r = r * 10 + A[i];
        C.push_back(r / b);
        r %= b;
    }

    reverse(C.begin(), C.end());
    while (C.size() > 1 && C.back() == 0)
        C.pop_back();
    return C;
}

int main()
{
    string c;
    while (cin >> c && c != "-1")
    {
        vector<int> a, ans;
        for (int i = c.size() - 1; i >= 0; --i)
            a.push_back(c[i] - '0');
        for (int i = 2; i <= 9; ++i)
        {
            int r = 0;
            auto res = div(a, i, r);
            if (r == 0)
                ans.push_back(i);
        }
         if (ans.empty())
             cout << "none";
         else
             for (int i = 0; i < ans.size(); ++i)
                 cout << ans[i] << " ";
        cout << endl;
    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
04-30 11:43
春招失败、父母离婚,好像我的人生一团糟,一年来压力大到常常崩溃。不知道能跟谁聊,朋友其实对我非常好,但是她无意中表达出来的家庭幸福都会刺痛到我……和ai聊天,我的未来在更高处,不在楼下,忍不住爆哭😭
youngfa:害,妹妹,我是一个研究生(很上进很想找到好工作的那种),但去年因为生病回家休养错过了秋招(当时对我的冲击也是非常大的),这学期返校来了也是把论文盲审交了后才开始找工作,现在也是一个offer没有,但我就没有像你一样把这个阶段性的事情绑定到人生上,人生不仅很长,也很广阔,先停下来,放松一下哦。不要被外部环境灌输的思维操控了,好好爱自己!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务