Cod sursa(job #45659)

Utilizator swift90Ionut Bogdanescu swift90 Data 1 aprilie 2007 19:36:19
Problema Next Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
int n[1000001],m[1000001],t;
long long d;
int main(){
	FILE*in=fopen("next.in","r");
	FILE*out=fopen("next.out","w");
	char aux;
	int i,j;
	
	i=0;
	fscanf(in,"%c",&aux);
	while(aux!='\n'){
		m[i]=aux-'0';
		i++;
		fscanf(in,"%c",&aux);
	}
	n[0]=i;
	j=1;
	for(i=i-1;i>-1;i--){
		n[j]=m[i];
		j++;
	}
	fscanf(in,"%lld",&d);
	
	
	for(i=n[0];i>0;i--)
		t=(t*10+n[i])%d;
	
	if(t==0){
		for(i=n[0];i>0;i--){
			fprintf(out,"%d",n[i]);
		}
		fprintf(out,"\n");
		return 0;
	}
	
	d=d-t;
	t=0;
	for(i=1;i<=n[0];i++){
		t=t+d%10+n[i];
		if(t<10)
			m[i-1]=t;
		else
			m[i-1]=t%10;
		t=t/10;
		d=d/10;
	}
	for(i=n[0]-1;i>-1;i--)
		fprintf(out,"%d",m[i]);
	fprintf(out,"\n");
	
	return 0;
}