zoukankan      html  css  js  c++  java
  • PAT B1017 A除以B (20 分)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    123456789050987654321 7
    

    输出样例:

    17636684150141093474 3
    #include <stdio.h>
    #include <algorithm>
    #include <string>
    #include <iostream>
    using namespace std;
    const int maxn = 1000001;
    
    int main(){
        string a;
        int q[1000];
        int b,r;
        cin >> a >> b;
        int margin = 0, num = 0;
        int mod, div;
        for (int i = 0; i < a.length(); i++){
            int tmp = a[i] - '0';
            tmp = margin * 10 + tmp;
            mod = tmp % b;
            div = tmp / b;
            margin = mod;
            q[num++] = div;
        }
        r = margin;
        int flag = 0;
        for (int i = 0; i < num; i++){
            if (num == 1)printf("%d", q[i]);
            else{
                if (q[i] == 0 && flag == 0)continue;
                else{
                    flag = 1;
                    printf("%d", q[i]);
                }
            }
        }
        printf(" %d", r);
        system("pause");
        return 0;
    }

    本题考查的是大数四则运算的除法,还比较简单。

    注意点:除法的结果前面的0需要去除,但如果只有一位要保留。也可以不设置结果数组,除一个打印一个。

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    [Codeforces809D] Hitchhiking in the Baltic States
    [Codeforces1148H] Holy Diver
    [PKUWC2018]猎人杀
    [Codeforces566C] Logistical Questions
    越野赛车问题
    Suffix Array
    第05组(65) 需求分析报告
    第05组(65) 团队展示
    第三次作业
    结对编程作业
  • 原文地址:https://www.cnblogs.com/tccbj/p/10359524.html
Copyright © 2011-2022 走看看