高精除以单精
首先要考虑被除数的第一个数,如果它除以除数不是零而且被除数不只是一位,就先输出,这样就可以处理到底是只用第一位就可以除还是一二项结合才能除的情况
然后从第二项开始,模拟除法的过程。假设就从第二项开始,以样例一为例子,经过上述操作后q=1,r=5,然后把3落下来,计算53除以7.......商的每一项是上一项除完后的余数*10加上这一项的被除数去除以b,余数的这一项就是前面说的那一项模b
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
string a;
int b;
cin>>a>>b;
int r;
int q=0;
q=(a[0]-'0')/b;
if((q!=0&&a.length()>1)||a.length()==1) cout<<q;
r=(a[0]-'0')%b;
for(int i=1;i<a.length();i++)
{
q=(r*10+a[i]-'0')/b;
cout<<q;
r=(r*10+a[i]-'0')%b;
}
cout<<' '<<r;
return 0;
}