Pagini recente » contest-oji-10-2005 | Popandai | Istoria paginii runda/ktmalx_93 | Cod sursa (job #1381856) | Cod sursa (job #528022)
Cod sursa(job #528022)
#include<fstream.h>
#define NMAX 1000010
char c[NMAX];
int a[NMAX], p, u, i, aux;
long long d, r;
ifstream f("next.in");
ofstream g("next.out");
long long rest()
{
int i;
long long r=0;
for (i=1; i<=a[0]; ++i)
r=((r*10)+a[i])%d;
return r;
}
void aduna(long long x)
{
int i, r=0;
for (i=1; i<=a[0]; ++i)
{
a[i]=a[i]+x%10+r;
x/=10;
r=a[i]/10;
a[i]%=10;
}
if (r>0) a[++a[0]]=r;
}
int main()
{
f.getline(c, NMAX);
f>>d;
a[0]=strlen(c);
for (p=1, u=0; u<a[0]; ++u, ++p) a[p]=c[u]-'0';
r=rest();
for (p=1, u=a[0]; p<u; ++p, --u)
{
aux=a[p];
a[p]=a[u];
a[u]=aux;
}
if (r>0) aduna(d-r);
for (i=a[0]; i>0; --i) g<<a[i];
g<<"\n";
f.close();
g.close();
return 0;
}