Pagini recente » Cod sursa (job #894265) | Cod sursa (job #151048) | Rating Ciobanu Andreea (andreea.ciobanu) | Cod sursa (job #783609) | Cod sursa (job #1896491)
#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;
adunare( d - rest() );
for( int i = a[0]; i >= 1; i-- ){
fout << a[i];
}
return 0;
}