Pagini recente » Borderou de evaluare (job #1707963) | Cod sursa (job #3239908) | Borderou de evaluare (job #82012) | Borderou de evaluare (job #262912) | Cod sursa (job #2769908)
#include <fstream>
using namespace std;
int v[1100005],poz=1;
long long d;
long long rest(){
long long t=0;
for(int i=poz-1;i>=1;i--){
t=(t*10+v[i])%d;
}
return t;
}
void adunare(long long x){
long long t=0;
for(int i=1;i<poz;i++){
t+=v[i]+x%10;
v[i]=t%10;
t/=10;x/=10;
}
while(t>0){
v[poz]=t%10;t/=10;poz++;
}
}
int main()
{
ifstream fin("next.in");
ofstream fout("next.out");
string s;long long r;
fin>>s>>d;
for(int i=s.size()-1;i>=0;i--){
v[poz]=s[i]-'0';
poz++;
}
r=rest();
r=d-r;
if(r!=d){
adunare(r);
}
for(int i=poz-1;i>=1;i--){
fout<<v[i];
}
fout<<'\n';
return 0;
}