Cod sursa(job #37673)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 25 martie 2007 11:51:05
Problema Next Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 0.79 kb
#include<stdio.h>
char c;
long long int d,cont,a,nr,i,lc,cat[1000000],aux;
int main()
{	FILE *f,*g;
	f=fopen("next.in","r");
	g=fopen("next.out","w");
	do{ fscanf(f,"%c",&c);cont++;} while(c!='\n'); cont--;
	fscanf(f,"%lld",&d); fclose(f);
	f=fopen("next.in","r");
	nr=0;
	for(i=1;i<=cont;i++)
	{  fscanf(f,"%1lld",&a);
	   nr*=10; nr+=a;
	   if(nr>=d){ lc++; cat[lc]=nr/d; nr%=d;}
	   }
	for(i=1;i<=lc/2;i++) { aux=cat[i]; cat[i]=cat[lc+1-i]; cat[lc+1-i]=aux;}
	cat[1]++;i=1;while(cat[i]==10){cat[i+1]++;cat[i]=0;}
        if(cat[lc+1])lc++;
	for(i=1;i<=lc;i++) cat[i]*=d;
	for(i=1;i<=lc;i++){ cat[i+1]+=cat[i]/10;
			    cat[i]%=10;
			    }
	while(cat[lc+1]){ lc++; cat[lc+1]+=cat[lc]/10; cat[lc]%=10;}
	for(i=lc;i>=1;i--) fprintf(g,"%lld",cat[i]);
	fcloseall();
	return 0;
}