Pagini recente » Cod sursa (job #2294865) | Cod sursa (job #376044) | Cod sursa (job #2092207) | Cod sursa (job #1789056) | Cod sursa (job #1488032)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
typedef long long var;
short v[100005];
int lv1,lv2;
var D,MOD;
var div()
{
var i, t = 0;
for (i = lv1; i > 0; i--, t %= D)
v[i] = (t = t * 10 + v[i]) / D;
for (; lv1 > 1 && !v[lv1]; lv1--);
return t;
}
void add(var d)
{
var i , t = 0;
for (i=1; i <=lv1 || t || d ; i++, t/=10,d/=10)
v[i] = (t += v[i] + d % 10 ) % 10;
lv1 = i - 1;
}
void mul()
{
var i, t = 0;
for (i = 1; i <= lv1 || t; i++, t /= 10)
v[i] = (t += v[i] * D) % 10;
lv1 = i - 1;
}
int main()
{
var i = 1,aux;
char x;
while(fin.get(x) && x != '\n'){
v[i] = x - 48;
i++;
}
fin >> D;
lv1 = i - 1;
for( i = 1; i <= lv1/2; i++ ){
aux = v[i];
v[i] = v[lv1 - i + 1];
v[lv1 - i + 1] = aux;
}
if(div() != 0)
mul(),add(D);
else
mul();
for(i = lv1; i >= 1 ; i--)
fout << v[i];
return 0;
}