Cod sursa(job #760026)

Utilizator bora_marianBora marian bora_marian Data 20 iunie 2012 02:39:35
Problema Next Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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");
	ofstream fout("next.out");
	fin.getline(s,DIM);
	fin>>d;
	r=rest();
	adunare(d-r);
	
	if(af>0)
		fout<<af;
	int i;
	for(i=0;s[i];i++)
		fout<<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;
}