与之前的乘法差不多,按位相除既可,注意借位。
步骤:
1.字符型转化为整型,这次不需要倒置
2.按位相除的结果c
3.去除前导0
4.顺序输出商
5.输出余数
#include<bits/stdc++.h>
using namespace std;
int a[10001];//s1的转换,s2的转换
int c[100001];//s1和s2的数值之和的转换
//将字符型转化为整型
void strtoint(string s,int n[]){
/*
下标 012345
s1 12345
a 12345(从下标1开始)
*/
for(int i=0;i<s.size();i++){
n[i+1]=s[i]-'0';
}
}
int main(){
string s;
int b;
int temp=0;
cin>>s>>b;
int la=s.size();
//1.字符型转化为整型,这次不需要倒置
strtoint(s,a);
//2.按位相除的结果c
for(int i=1;i<=la;i++){
//整除
c[i]=(temp*10+a[i])/b;
//余数
temp=(temp*10+a[i])%b;
}
int lc=1;
//3.去除前导0
while(c[lc]==0&&lc<la)lc++;
//4.顺序输出商
for(int i=lc;i<=la;i++){
cout<<c[i];
}
cout<<endl;
//5.输出余数
cout<<temp;
return 0;
}