Pagini recente » Monitorul de evaluare | Cod sursa (job #241490) | Diferente pentru utilizator/mihnea.anghel intre reviziile 43 si 25 | Monitorul de evaluare | Cod sursa (job #2003844)
#include <fstream>
using namespace std;
ifstream cin("next.in");
ofstream cout("next.out");
char c;
int i,a[1000002],b[20];
long long d,t,nr;
int main()
{
while(cin.get(c)&&c!='\n')
a[++a[0]]=c-'0';
for(i=1;i<=a[0]/2;i++)
swap(a[i],a[a[0]-i+1]);
cin>>d;
for(i=a[0];i>=1;i--)
t=(t*10LL+a[i])%d;
nr=(d-t)%d;
if(nr==0)
b[++b[0]]=0;
while(nr)
{
b[++b[0]]=nr%10LL;
nr/=10LL;
}
t=0;
for(i=1;i<=a[0]||i<=b[0]||t;i++,t/=10)
{
if(i<=b[0])
t+=a[i]+b[i];
else
t+=a[i];
a[i]=t%10;
}
a[0]=i-1;
for(i=a[0];i>=1;i--)
cout<<a[i];
cout<<"\n";
return 0;
}