Cod sursa(job #234924)

Utilizator alex23alexandru andronache alex23 Data 22 decembrie 2008 11:56:22
Problema Next Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <cstdio>

using namespace std;

FILE *f = fopen("next.in", "r"), *g = fopen("next.out", "w");

char N[1000005], D[20];
long n[1000005];
long long d;

int main()
{
    fgets(N, 1000005, f);
	//fgets(D, 20, f);
	fscanf(f, "%lld", &d);
	fclose(f);
	
	int lungime = strlen(N) - 1;
	for (int i = lungime - 1; i >= 0; i--)
		n[lungime - i] = N[i] - 48;
	n[0] = lungime;

	/*
	lungime = strlen(D);
	for (int i = lungime; i >= 1; i--)
		d[lungime - i + 1] = D(i) - '0';
	d[0] = lungime;
	*/

	int i, t = 0;  
    for (i = n[0]; i > 0; i--)  
         t = (t * 10 + n[i]) % d; 

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

	for (int i = n[0]; i >= 1; i--)
		fprintf(g, "%d", n[i]);
	fclose(g);

	return 0;
}