Pagini recente » Cod sursa (job #1275085) | Istoria paginii runda/runda_ezoterica_3.5 | Cod sursa (job #1503400) | Cod sursa (job #1498745) | Cod sursa (job #733074)
Cod sursa(job #733074)
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
int a[1000001],b[101];
void suma()
{
long long i,t;
t=0;
for(i=1;i<=a[0]||i<=b[0]||t;i++,t=t/10)
a[i]=(t+=a[i]+b[i])%10;
a[0]=i-1;
}
long long rest(long long b)
{
long long i,t;
t=0;
for(i=a[0];i>=1;i--)
t=(t*10+a[i])%b;
return t;
}
char c[1000005];
int main ()
{
long long r,d,m,i;
ifstream f("next.in");
ofstream g("next.out");
f>>c>>d;
f.close();
m=strlen(c)-1;
a[0]=m+1;
for(i=0;i<=m;i++)
a[m-i+1]=c[i]-48;
r=rest(d);
if(r!=0) {
r=(d-r)%d;
while(r) {
b[0]++;
b[b[0]]=r%10;
r=r/10;
}
suma();
}
for(i=a[0];i>=1;i--)
g<<a[i];
g.close();
return 0;
}