Cod sursa(job #64706)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 5 iunie 2007 00:02:39
Problema Next Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char ct,ns[10000],ds[100],nb[10000],db[100],lnb;
long long int cont,i,ln,ld,p,d,c,r,p10,k;
int main()
{	FILE *f,*g;
	f=fopen("next.in","r");
	g=fopen("next.out","w");
	fgets(ns,1000000,f);
	ln=strlen(ns);
	fscanf(f,"%ld",&d);
	p10=1;
	for(i=ln-1;i>=1;i--)
	{ c=(long int)(ns[i-1]-48);
	  r+=c*p10;r%=d;p10*=10;p10%=d;
	}
	p=ln-1;k=0;
	if(!r){fprintf(g,"%s",ns);fcloseall();return 0;}
	r=d-r;
	while(r)
	{ p--;ns[p]+=r%10;r/=10;k++;if(ns[p]>57){ns[p]-=10;ns[p-1]++;}}
	while(ns[p-1]>57){p--;ns[p]-=10;ns[p-1]++;}
	fprintf(g,"%s",ns);fcloseall();return 0;
	//fputs(nb,g);
	//fcloseall();
	//return 0;
}