Pagini recente » Cod sursa (job #2474749) | Cod sursa (job #1464593) | Cod sursa (job #2880442) | Cod sursa (job #1166524) | Cod sursa (job #1487052)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
const int NMax = 1e6 + 5;
int A[NMax], B[NMax];
void Read(long long int &MOD){
string s;
fin >> s >> MOD;
A[0] = s.size();
for(int i = 0; i < A[0]; i++){
A[A[0] - i] = (s[i] - '0');
}
}
long long int Mod(const long long int MOD){
int t = 0;
for(int i = A[0]; i > 0; i--){
t = (t * 10 + A[i]) % MOD;
}
return t;
}
void Sum(){
int i, t = 0;
for(i = 1; i <= A[0] || i <= B[0] || t; i++, t /= 10){
A[i] = (t += A[i] + B[i]) % 10;
}
A[0] = i - 1;
}
int main(){
long long int MOD, D;
Read(MOD);
D = (MOD - Mod(MOD)) % MOD;
while(D){
B[0]++;
B[B[0]] = D % 10;
D /= 10;
}
Sum();
for(int i = A[0]; i > 0; i--){
fout << A[i];
}
return 0;
}