标签:hid 解题思路 tps ios log 题目 引用 dde erase
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成?。
输?格式:
输?在1?中依次给出A和B,中间以1空格分隔。
输出格式:
在1?中依次输出Q和R,中间以1空格分隔。
输?样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
已知一个不超过1000位的数字N,和一个1位的正整数,求商和余数
#include <iostream>
using namespace std;
string div(string a, int b, int &r) {
string c;
for(int i=0; i<a.length(); i++) {
int temp = a[i]-'0';
r = r*10+temp; //本轮被除数
if(r<b) c.push_back('0');
else {
c.push_back(r/b+'0');
r=r%b;
}
}
while(c[0]=='0'&&c.length()>1) {
c.erase(c.begin());
// c.erase(0,1); //这种方式也可以
}
return c;
}
int main(int argc,char * argv[]) {
string A;
int B;
cin>>A>>B;
int r=0;
string s = div(A,B,r);
printf("%s %d",s.c_str(),r);
return 0;
}
PAT Basic 1017 A除以B (20) [数学问题-?整数运算]
标签:hid 解题思路 tps ios log 题目 引用 dde erase
原文地址:https://www.cnblogs.com/houzm/p/12269725.html