Pagini recente » Cod sursa (job #2496868) | Cod sursa (job #1138958) | Cod sursa (job #1261149) | Cod sursa (job #392232) | Cod sursa (job #68134)
Cod sursa(job #68134)
#include <stdio.h>
#define infile "next.in"
#define outfile "next.out"
#define nmax 100
int n[nmax+1], i, d2[17];
long long d;
void readdata()
{
FILE *fin=fopen(infile, "r");
char c;
int aux;
fscanf(fin, "%c", &c);
while (c!='\n')
{
n[++n[0]]=c-'0';
fscanf(fin, "%c", &c);
}
while (!feof(fin))
{
fscanf(fin, "%c", &c);
d2[++d2[0]]=c-'0';
}
d2[0]--;
for (i=1; i<=n[0]/2; i++)
{
aux=n[i];
n[i]=n[n[0]-i+1];
n[n[0]-i+1]=aux;
}
for (i=1; i<=d2[0]; i++)
d=d*10+d2[i];
fclose(fin);
}
void solve()
{
int t=0;
for (i=n[0]; i>0; i--)
t=(t*10+n[i])%d;
d-=t;
for (i=0; i<17; i++) d2[i]=0;
while (d)
{
d2[++d2[0]]=d%10;
d/=10;
}
t=0;
for (i=1; i<=n[0] || i<=d2[0] || t; i++, t/=10)
{
t+=n[i]+d2[i];
n[i]=t%10;
}
n[0]=i-1;
}
void writedata()
{
FILE *fout=fopen(outfile, "w");
for (i=n[0]; i>0; i--)
fprintf(fout, "%d",n[i]);
fclose(fout);
}
int main()
{
readdata();
solve();
writedata();
return 0;
}