• PAT乙级1017.A除以B(20 分)


    1017 A除以B(20 分)

    本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

    输入格式:

    输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

    输出格式:

    在一行中依次输出 Q 和 R,中间以 1 空格分隔。

    输入样例:

    123456789050987654321 7
    

    输出样例:

    17636684150141093474 3

    两种方法:
    方法一:节省存储空间,采用边计算边输出结果的形式,不过要考虑什么时候开始输出,在代码形式上稍微复杂一些
    方法二:将计算的结果存储起来,最后一并输出,占用的存储空间较多,但代码逻辑上较为清晰
    这里采用方法二
    #include<iostream>
    #include<stdlib.h>
    #include<string>
    using namespace std;
    int main()
    {
        string A;
        int B;
        int temp = 0;
        string Q = "";
        cin >> A >> B;
        int flag = 0;
        for (int i = 0; i < A.length(); i++)
        {
            Q = Q + to_string((temp * 10 + A[i] - '0') / B);
            temp = (temp * 10 + A[i] - '0') % B;
        }
        int j;
        for (j = 0; j < Q.length() - 1; j++)
        {
            if (Q[j] != '0')
                break;
        }
        cout << Q.substr(j, Q.length() - j + 1) << " " << temp << endl;
        system("pause");
        return 0;
    }
     
  • 相关阅读:
    Anaconda + Djongo + spyder 网站开发 (三)
    Anaconda + Djongo + spyder 网站开发 (二)
    Anaconda + Djongo + spyder 网站开发 (一)
    实验室网盘链接方式
    R 缓存画图代码,之后再总结
    换源的重要性!!!!
    latex 调整页边距
    Latex 字体设置
    嵌套交叉验证
    FDR及Benjamini-Hochberg方法
  • 原文地址:https://www.cnblogs.com/denghui666/p/9502770.html
Copyright © 2020-2023  润新知