第一份 96分
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=5005;
int A[N],b,C[N];
int la,lc;
void div(int A[],int b,int C[])
{
long long t=0;
for(int i=la-1;i>=0;--i)
{
t=t*10+A[i];
C[la-1-i]=t/b;
t%=b;
}
reverse(C,C+lc);
while(C[lc-1]==0&&lc) lc--;
}
int main()
{
string a;
cin>>a>>b;
lc=la=a.size();
for(int i=la-1;i>=0;i--)
{
A[la-1-i]=a[i]-'0';
}
div(A,b,C);
for(int i=lc-1;i>=0;--i)
{
cout<<C[i];
}
return 0;
}
第二份 100分
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=5005;
int A[N],b,C[N];
int la,lc;
void div(int A[],int b,int C[])
{
long long t=0;
for(int i=la-1;i>=0;--i)
{
t=t*10+A[i];
C[la-1-i]=t/b;
t%=b;
}
reverse(C,C+lc);
while(C[lc]==0&&lc) lc--;
}
int main()
{
string a;
cin>>a>>b;
lc=la=a.size();
for(int i=la-1;i>=0;i--)
{
A[la-1-i]=a[i]-'0';
}
div(A,b,C);
for(int i=lc;i>=0;--i)
{
cout<<C[i];
}
return 0;
}
中间修改了两个地方 在于for(int i=lc;i>=0;--i)和while(C[lc]==0&&lc) lc--; 为什么需要考虑lc这个地方的数字,按道理来讲这里不会被进位吧?