Pagini recente » Cod sursa (job #385200) | Cod sursa (job #1358262) | Cod sursa (job #2278742) | Cod sursa (job #2318925) | Cod sursa (job #1906485)
#include <fstream>
#include <cstring>
#define DIM 1000001
using namespace std;
int v[DIM],n,c[DIM];
long long d,r,nr,w[20],t,i,N;
char a[DIM];
ifstream fin ("next.in");
ofstream fout ("next.out");
int main (){
fin>>a+1;
N = strlen (a+1);
for (i=1;i<=N;i++)
v[i] = a[i]-'0';
n = N;
/*while (fin>>x){
v[++n] = x-'0';
}*/
fin>>d;
// aflam restul impartirii lui n la d
for (i=1;i<=n;i++)
r = (r*10 + v[i]) % d;
nr = (d-r) % d; // pe nr il adunam cu n;
while (nr != 0){
w[++w[0]] = nr%10;
nr/=10;
}
for (i=1;i<=n/2;i++)
swap (v[i],v[n-i+1]);
if (n < w[0])
n = w[0];
for (i=1;i<=n;i++){
c[i] = v[i] + w[i]+t;
t = c[i]/10;
c[i] %= 10;
}
c[0] = n;
if (t != 0)
c[++c[0]] = t;
for (i=c[0];i>=1;i--)
fout<<c[i];
return 0;
}