Cod sursa(job #2187013)

Utilizator PetyAlexandru Peticaru Pety Data 26 martie 2018 09:43:02
Problema Next Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("next.in");
ofstream fout ("next.out");

int a[1000004]; long long d;
string s;

int main()
{
	fin >> s;
	a[0]= s.size();
	for (int i = s.size(); i >= 1; i--) {
		a[i] =s[i - 1] - '0';
	}
	reverse(a + 1, a + a[0] + 1);
	fin >> d;
	int mod = 0;
	for (int i = a[0]; i >= 1; i--) {
		mod = (mod * 10 + a[i]) % d;
	}
	mod = (d - mod) % d;
	if (mod > 0) {
		int t = 0;
		for (int i = 1; i <= a[0]; i++) {
			int aux = t + a[i] + mod;
			t = aux / 10;
			a[i] = aux % 10;
			mod = 0;
		}
		while (t > 0) {
			a[++a[0]] = t;
			t = t / 10;
		}
	}
	for (int i = a[0]; i >= 1; i--)
		fout << a[i];
	return 0;
}