Pagini recente » Cod sursa (job #2304269) | Cod sursa (job #1540055) | Cod sursa (job #764059) | Cod sursa (job #2786622) | Cod sursa (job #1896497)
#include<fstream>
#include<cstring>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
long long d;
int m;
int a[1000005];
char n[1000005];
long long rest(){
long long r = 0;
for( int i = a[0]; i > 0; i-- ){
r = ( r * 10 + a[i] ) % d;
}
return r;
}
void adunare( long long t ){
for( int i = 1; i <= a[0]; i++ ){
long long val = a[i] + t;
t = val / 10;
a[i] = val % 10;
}
while( t != 0 ){
a[++a[0]] = t % 10;
t /= 10;
}
return ;
}
int main(){
fin >> n >> d;
m = strlen( n );
for( int i = 0; i < m; i++ ){
a[i + 1] = ( n[m - i - 1] - '0' );
}
a[0] = m;
if( rest() != 0 )
adunare( d - rest() );
for( int i = a[0]; i >= 1; i-- ){
fout << a[i];
}
return 0;
}