Pagini recente » Cod sursa (job #696699) | Cod sursa (job #1218819) | Cod sursa (job #597644) | Cod sursa (job #1873923) | Cod sursa (job #2673161)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin ("next.in");
ofstream fout ("next.out");
typedef int Huge[1000001];
Huge n;
char s[1000001];
void citire()
{
int i, str;
fin.getline(s, 1000001);
str=strlen(s);
n[0]=str;
for(i=str-1; i>=0; i--)
{
n[str-i]=s[i]-'0';
}
}
long long mod (Huge a, long long x)
{
int i;
long long r=0;
for(i=a[0]; i>=1; i--)
{
r=r*10+a[i];
r=r%x;
}
return r;
}
void adunare(Huge a, long long x)
{
int i, r=0;
for(i=1; i<=a[0]; i++)
{
a[i]=a[i]+x%10+r;
r=a[i]/10;
a[i]=a[i]%10;
x=x/10;
}
if(r) a[++a[0]]=1;
}
void afisare(Huge a)
{
for(int i=a[0]; i>=1; i--) fout<<a[i];
fout<<"\n";
}
int main()
{
long long d, rest;
citire(); fin>>d;
rest=mod(n, d);
if(rest!=0)adunare(n, d-rest);
afisare(n);
}