思路
通过字符串读取大数,然后模拟除法过程,如果在算除法的过程中够除的情况下就直接输出,否则就继续向后找数字,另外如果a<b的情况下也需要讨论
AC代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
int b;
int q=0,r=0;
cin>>s>>b;
for(int i=0;i<s.length();i++)
{
if(q*10+(s[i]-'0')>=b)
{
cout<<(q*10+(s[i]-'0'))/b;
}
else
{
if(s.length()==1) cout<<0;//如果a<b的情况下
else if(i)//因为是个位数,所以两位数肯定会整除,所以只需要判断第一位是否为0
cout<<0;
}
q=(q*10+(s[i]-'0'))%b;
}
cout<<" "<<q<<endl;
return 0;
}