Pagini recente » Cod sursa (job #2154757) | Cod sursa (job #2187976) | Cod sursa (job #2051512) | Cod sursa (job #1331356) | Cod sursa (job #760060)
Cod sursa(job #760060)
#include <cassert>
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
char v[1000005];
int a[1000005],n;
int main(){
long long D;
ifstream fin("next.in");
ofstream fout("next.out");
fin.getline(v , sizeof( v ) );
fin >> D;
long long
x = 2LL , y = 100;
assert(D >= 1 && D <= y);
n = 0;
for(int i=strlen(v)-1 ; i>=0 ; --i){
assert(v[i]>='0' && v[i] <= '9');
a[++n] = v[i] - '0';
}
a[0] = n;
while( a[a[0]] == 0 && a[0] > 1 )
a[0] -- ;
long long t = 0;
for(int i = a[0] ; i ; --i)
t = (10 * t + a[i]) % D;
if( t ){
D = (D - t);
cout << D << endl;
t = 0 ;
int i = 1;
while ( D ){
if( i > a[0] )
a[ ++ a[0] ] = 0;
a[i] += D % 10 + t;
t = a[i] / 10;
a[i] %= 10;
D /= 10;
i ++ ;
}
if( t ){
if( i > a[0] )
a[ ++a[0] ] = 0;
a[i] += t;
}
while( a[a[0]] == 0 && a[0] > 1 )
a[0] --;
}
for ( int i = a[0] ; i ; --i )
fout << a[i];
//fout << endl;
return 0;
}