党课考试怎么办呀?
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
string s;
int b,q,r,tmp=0;
cin>>s>>b;
int len=s.length();
for(int i=0;i<len;i++)
{
int t=(s[i]-'0'+tmp*10)/b;
if(len==1) cout<<t;//商只有1位,肯定要输出。
else if(i==0&&t==0) ;//消掉前导0
else cout<<t;
tmp=(s[i]-'0'+tmp*10)%b;
}
cout<<" "<<tmp;
return 0;
}
思路:首先,肯定要用大数模拟除法。其次,每一位被除数代表一位商,我们要消掉前导0。要消掉前导0只有一种情况:0xxxx。所以,当商的位数大于1的时候,要消掉前导0。