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
#include<stdio.h>
#include<iostream>
#include<stack>
#include<string.h>
#include <queue>
#include <cmath>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <string>
using namespace std;
typedef long long LL;
int main() {
//freopen("in.txt", "r", stdin);
//freopen("out.txt","w",stdout);
string str;
int n;
cin >> str >> n;
int t = 0;
if(str.size() > n){ //如果字符串的位数超过两位 就开始一步步的进行相除运算
for(int i = 0; i < str.size(); i++){
t += str[i] - '0';
if(t >= n){
cout << t / n;
t = t % n;
}else if(i >= 2 && t < n){
cout << "0";
}
t *= 10;
if(i == str.size() - 1){
cout << " " << t / 10;
}
}
}else { //否则的话 则直接打印输出即可
cout << "0 " << (str[0] - '0' ) % n;
}
return 0;
}