Cod sursa(job #760030)

Utilizator bora_marianBora marian bora_marian Data 20 iunie 2012 02:47:48
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<iostream>
#include<fstream>
#include<cstring>
#define DIM 1000004
using namespace std;
long long d,r,af;
char s[DIM];

long long rest();
void adunare(long long val);

int main()
{
	ifstream fin("next.in");
	freopen("next.out","w",stdout);
	fin.getline(s,DIM);
	fin>>d;
	r=rest();
	if(r!=0)
		adunare(d-r);
	
	if(af>0)
		printf("%lld",af);
	int i;
	for(i=0;s[i];i++)
		printf("%c",s[i]);
	return 0;
}
long long rest()
{
	int i;
	long long a=s[0]-'0';
	for(i=1;s[i] && a<d;i++)
		a=a*10+s[i]-'0';
	for(;s[i];i++)
	{
		a=a%d;
		a=a*10+s[i]-'0';
	}
	return a%d;
}
void adunare(long long val)
{
	int i;
	int n=strlen(s);
	for(i=n-1;i>=0;i--)
	{
		val+=s[i]-'0';
		s[i]=char(val%10+'0');
		val=val/10;
	}
	af=val;
}