Pagini recente » Atasamentele paginii runda_lot | Cod sursa (job #1321527) | Cod sursa (job #2301529) | Cod sursa (job #2436145) | Cod sursa (job #733068)
Cod sursa(job #733068)
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
short a[1000001];
short b[19];
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>0;i--)
t=(t*10+a[i])%b;
return t;
}
char c[1000001];
int main ()
{
int m,i;
long long r,d;
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;
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;
}