经验总结:
要特殊考虑当被除数长度为1时的情况。
记:注意运算符的优先顺序,得先括号,否则有个测试点错误。。。
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
string a;
int b;
cin>>a>>b;
int num = 0;
bool flag = false;
if(1==a.size()){ //要特殊考虑被除数长度为1的情况
if((a[0]-'0')/b){ //注意运算符的优先顺序,得先括号,否则有个测试点错误。。。
cout<<1<<" "<<(a[0]-'0')%b;
}else{
cout<<0<<" "<<a;
}
return 0;
}
for(int i=0;i<a.size();i++){
num = num*10+a[i]-'0';
if(num/b||flag){
cout<<num/b;
flag = true; //标记前导0是否过滤完
}
num %= b;
}
cout<<" "<<num;
return 0;
}