Pagini recente » Cod sursa (job #828147) | Monitorul de evaluare | Cod sursa (job #534124) | Monitorul de evaluare | Cod sursa (job #765911)
Cod sursa(job #765911)
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 1000004
ifstream f("next.in");
ofstream g("next.out");
string s;
int a[nmax];
long long d;
void citeste(){
f >> s;
f >> d;
}
void rezolva(){
for(int i=s.size()-1; i>=0; i--){
a[++a[0]] = s[i]-'0';
}
//numarul e scrie invers a[1] = ultima cifra, etc;
long long R = 0;
for(int i=a[0]; i>=1; i--){
R = (1LL*10*R+1LL*a[i]) % d;
}
long long cat = (d-R) % d;
int t = 0;
for(int i=1; i<=a[0]; i++){
a[i] = a[i]+(cat%10)+t;
t = a[i]/10;
a[i]=a[i]%10;
cat = cat / 10;
}
for(int i=a[0]; i>=1; i--){
g << a[i];
}
}
int main(){
citeste();
rezolva();
}