Cod sursa(job #37997)

Utilizator petrecgClinciu Glisca Petre petrecg Data 25 martie 2007 13:15:47
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#include <math.h>
FILE *f;
int a[1000002],v[1000002];long long l,i,z,n,s,d,j;char c;
int main()
{f=fopen("next.in","r");fscanf(f,"%c",&c);
 while(c!='\n'){a[n++]=c-48;fscanf(f,"%c",&c);}
 fscanf(f,"%Ld",&d);fclose(f);
 for(i=0;i<n;i++)
  {s=s*10+a[i];z=0;
   if(s>=d){v[++l]=s/d;s=s%d;z=1;}}
 i=l;ss=1;if(!z)l++;
 for(i=1;i<=n;i++)a[i]=0;
 for(i=1;i<=l/2;i++){z=v[i];v[i]=v[l-i+1];v[l-i+1]=z;}i=1;
 if(s)while(v[i]==9){v[i]=0;i++;}v[i]++;if(i>l)l=i;s=0;n=l;
 for(i=1;i<=l;i++)
  {s=((v[i])*d)/10;v[i]=((v[i])*d)%10;
   for(j=i+1;s;j++){a[j]+=s%10;s/=10;}if(j>n)n=j-1;}
 f=fopen("next.out","w");for(i=1;i<=n;i++)fprintf(f,"%d",v[i]+a[i]);fclose(f);
 return 0;
}