1017. A除以B (20)--做题纪录

来源:互联网 发布:mysql递归 编辑:程序博客网 时间:2024/06/04 20:09

1017. A除以B (20)

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

输入格式:

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

输出格式:

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

输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
////  main.cpp//  B////  Created by Tong on 7/19/16.//  Copyright © 2016 TongHdj. All rights reserved.//#include <iostream>using namespace std;int main(int argc, const char * argv[]) {        string A;    int B;        cin>>A>>B;    if(A.length() <= 20) {        long aLong = atoi(A.c_str());        cout<<aLong/B<<" "<<aLong%B<<endl;    }else {        int dA = 0;        string result = "";        for (int i = 0; i < A.length(); i++) {            dA = dA * 10 + (A[i] - '0');            if (dA >= B) {                int resTemp = dA / B;                char str[10];                sprintf(str,"%d",resTemp);                result += str;                dA = dA % B;            }else {                if (result != "") {                    result.append("0");                }            }        }        cout<<result<<" "<<dA<<endl;    }        return 0;}


0 0