Pagini recente » Cod sursa (job #870798) | Cod sursa (job #334110) | Cod sursa (job #1607969) | Cod sursa (job #2367446) | Cod sursa (job #1927750)
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
unsigned int n[1000001];
unsigned long long int d;
int main()
{
ifstream fin ("next.in");
ofstream fout ("next.out");
char cit[1000001];
fin.getline(cit,1000001);
n[0]=strlen(cit);
for (int i=n[0]-1; i>=0; i--)
n[n[0]-i]=cit[i]-'0';
fin>>d;
unsigned long long int rest=0;
for (unsigned int i=n[0]; i>0; i--)
rest=(10*rest+n[i])%d;
if (rest==0)
fout<<cit;
else
{
unsigned long long int nr=d-rest,transport;
for (unsigned int i=1; i<=n[0]; i++)
{
transport=n[i]+nr;
n[i]=transport%10;
nr=transport/10;
}
while (nr!=0)
{
n[++n[0]]=nr%10;
nr/=10;
}
for (unsigned int i=n[0]; i>=1; i--)
fout<<n[i];
}
return 0;
}