Cod sursa(job #123050)

Utilizator tamasgyGyorfi Tamas tamasgy Data 14 ianuarie 2008 15:08:27
Problema Next Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>

int main()
{
    char a[1000000],b[1000000];
    long long int d,t=0;
    long int i=0;
    FILE *r;
    r=fopen("next.in","r");
    a[0]=0;
    do
    {
        i++;
    }
    while ((a[i]=getc(r))!='\n');
    a[0]=i-2;
    fscanf(r,"%lld",&d);

    for (i=1;i<=a[0];i++)
    {
        t=(t*10+(a[i]-'0'))%d;
    }
    fclose(r);
    r=fopen("next.out","w");
    b[0]=0;
    i=0;
    while (d!=t)
    {
        i++;
        b[i]=(d-t)%10;
        d=(d-t)/10+t;
    }
    t=0;
    b[0]=i;

    for (i=1;(i<=a[0] || i<=b[0]);i++)
    {
        a[a[0]-i+1] = ((t+= (a[a[0]-i+1]-'0')+b[i]) % 10) +'0';
        t=t/10;
    }
    for (i=1;i<=a[0];i++)
        fprintf(r,"%c",a[i]);
     fclose(r);
  return 0;
}