Pagini recente » Cod sursa (job #1215359) | Cod sursa (job #134155) | Cod sursa (job #2130546) | Cod sursa (job #69062) | Cod sursa (job #1336303)
#include<fstream>
#include<string>
#include<vector>
using namespace std;
ifstream fin( "next.in" );
ofstream fout( "next.out" );
typedef vector <int> huge;
const int base = 10;
string s;
huge add( huge x, long long p ) {
int t = 0;
for( int i = 0; p > 0 || t != 0; ++ i, p /= 10 ) {
if ( i == ( int )x.size() ) {
x.push_back( 0 );
}
x[ i ] += p % 10 + t;
t = x[ i ] / base;
x[ i ] %= base;
}
return x;
}
int main() {
long long r, d;
huge n;
fin >> s >> d;
r = 0;
for( int i = ( int )s.size() - 1; i >= 0; -- i ) {
n.push_back( s[ i ] - '0' );
}
for( int i = 0; i < ( int )s.size(); ++ i ) {
r = (r * 10 + s[ i ] - '0') % d;
}
if ( r == 0 ) {
r = d;
}
r = d - r;
n = add( n, r );
for( int i = ( int )n.size() - 1; i >= 0; -- i ) {
fout << n[ i ];
}
fout << "\n";
fin.close();
fout.close();
return 0;
}