1. 程式人生 > >PAT.1007. A除以B (20)

PAT.1007. A除以B (20)

A除以B (20)

時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述

本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。

輸入描述:

輸入在1行中依次給出A和B,中間以1空格分隔。

輸出描述:

在1行中依次輸出Q和R,中間以1空格分隔。

輸入例子:

123456789050987654321 7

輸出例子:

17636684150141093474 3
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string a;
    int b,r=0,s=0,j=0;
    int q[1001];
    cin >>a>>b;
    for(int i = 0; i < a.length(); i++){
        int num = a[i] - '0';
        s = r*10 + num;
        q[j++] = s/b;
        r = s%b;
    }
    bool flag = false;
    for(int i = 0; i < j; i++){
        if(q[i]!=0) flag = true;
        if(!flag) continue;
        cout << q[i];
    }
    cout << " " << r;
    return 0;
}