Pagini recente » Cod sursa (job #2944389) | Istoria paginii utilizator/rodicaapostol21kgs | Cod sursa (job #2707662) | Istoria paginii runda/preoji_bv_1_bis/clasament | Cod sursa (job #1711509)
#include <iostream>
#include<fstream>
#include<string>
using namespace std;
string s;
unsigned long long dix,ad,d,x,c;
int v[1000205],fix,i,j;
int main()
{
ifstream f("next.in");
ofstream g("next.out");
getline(f,s);
f>>d;
while(s[i]>='0'&&s[i]<='9') i++;
fix=i-1;
for(i=0;i<=fix;i++)
v[fix-i+1]=s[i]-'0';
dix=1;ad=0;
fix+=1;
for(i=1;i<=fix;i++)
{
ad=(ad+(dix*v[i])%d)%d;
dix*=10;dix%=d;
}
i=1;
ad=d-ad;
if(ad!=d)
while(ad!=0)
{
c=ad%10;
ad/=10;
x=c+v[i];
if(x>=10)
{v[i]=x%10;
j=i+1;
while(v[j]>=9) {v[j]=0;j++;}
v[j]++;
if(j>fix) fix=j;}
else v[i]=x;
if(i>fix) fix=i;
i++;
}
for(i=fix;i>=1;i--) g<<v[i];
}