Pagini recente » Cod sursa (job #2589954) | Cod sursa (job #1630532) | Cod sursa (job #1197288) | Cod sursa (job #2291721) | Cod sursa (job #214885)
Cod sursa(job #214885)
/**/
#include<fstream.h>
#include<string.h>
long A[1005],n;
char s[1005],s1[20],c;
long long d,rest;
ifstream fin("next.in");
ofstream fout("next.out");
long long imparte()
{
long t=0,i;
for(i=A[0];i>0;i--)
{
t=(t*10+A[i])%d;
}
return t;
}
void invers()
{
long i,aux;
for(i=1;i<=A[0]/2;i++)
{
aux=A[i];
A[i]=A[A[0]-i+1];
A[A[0]-i+1]=aux;
}
}
int main()
{
long i,trec=0,z,sv,sv1;
while(fin.get(c))
if(c!='\n')A[++A[0]]=c-'0';
else {sv1=sv;sv=A[0];}
for(i=sv1+1;i<=A[0];i++)
{
d=d*10+A[i];
A[i]=0;
}
A[0]=A[0]-(A[0]-sv1);
invers();
rest=imparte();
i=1;
rest=d-rest;
while(rest!=0)
{
z=A[i]+trec+rest%10;
A[i]=z%10;
trec=z/10;
i++;
rest/=10;
}
if(trec!=0)
A[i]+=trec;
while(A[i]>9)
{
trec=A[i]/10;
A[i]=A[i]%10;
A[i+1]=A[i+1]+trec;
i++;
}
if(i>A[0]) A[0]=i;
for(i=A[0];i>=1;i--)
fout<<A[i];
fout<<'\n';
fout.close();
return 0;
}