Pagini recente » Cod sursa (job #847542) | Cod sursa (job #110563) | Cod sursa (job #2925429) | Cod sursa (job #2553366) | Cod sursa (job #2526551)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
string str;
int n;
long long d,add;
int a[1000105];
long long mod(int A[],long long d)
{
long long x=0;
for (int i=A[0];i>=1;i--)
x=(x*10+A[i])%d;
return x;
}
void adunare(int A[])
{
int t=add;
for (int i=1;i<=A[0];i++)
{
t+=A[i];
A[i]=t%10;
t/=10;
}
while(t)
{
a[++a[0]]=t%10;
t/=10;
}
}
int main()
{
getline(fin,str);
n = str.size();
fin>>d;
a[0]=n;
for (int i=n;i>=1;i--)
{
a[i] = str[n-i] - '0';
}
add = d - mod(a,d);
if (add==d)
add=0;
adunare(a);
for (int i=a[0];i>=1;i--)
fout<<a[i];
fout<<'\n';
return 0;
}