Cod sursa(job #39695)

Utilizator damaDamaschin Mihai dama Data 26 martie 2007 22:01:53
Problema Next Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int n[1000001];
long long d;
char line[1000010];


int main()
{
	freopen("next.in","r",stdin);
	freopen("next.out","w",stdout);

	int len, i;
	long long temp = 0;

	fgets(line, 1000010, stdin);
	len = strlen(line);
	for(i = len - 1; i >= 0; --i)
	{
		if(isdigit(line[i]))
		{
			n[++n[0]] = line[i] - '0';
		}
	}
	scanf("%lld", &d);

	for(i = n[0]; i > 0; --i)
	{
		temp = (temp * 10 + n[i]) % d;
	}

	temp = d - temp;
	i = 1;
	
	while(temp)
	{
		n[i] += temp % 10;
		++i;
		temp /= 10;
	}
	for(i = 1; i <= n[0]; ++i)
	{
		if(n[i] >= 10)
		{
			n[i + 1] += n[i] / 10;
			n[i] %= 10;
		}
	}
	if(n[n[0] + 1])
		++n[0];

	for(i = n[0]; i > 0; --i)
	{
		printf("%d", n[i]);	
	}



	return 0;
}