Pagini recente » Cod sursa (job #2063314) | Statistici Sbengheci Vlad-Andrei (Vlad1111) | Cod sursa (job #881943) | Cod sursa (job #2045391) | Cod sursa (job #1758554)
#include <cstdio>
#include <algorithm>
#include <string.h>
using namespace std;
char s[1000005];
int v[1000005];
int nxt[1000005];
void add(){
int i,T;
T = 0;
for(i = 1;i <= v[0];i++){
v[i] += nxt[i] + T;
T = v[i]/10;
v[i] %= 10;
}
if(T){
v[++v[0]] = T;
}
}
long long unsigned divide(long long unsigned x){
int i;
long long unsigned R = 0;
for(i = v[0];i >= 1;i--){
R = 10*R + v[i];
v[i] = R/x;
R %= x;
}
return R;
}
void mult(long long unsigned x){
int i;
long long unsigned T = 0;
for(i = 1;i <= v[0];i++){
v[i] = v[i]*x + T;
T = v[i]/10;
v[i] %= 10;
}
while(T){
v[++v[0]] = T%10;
T /= 10;
}
}
int main()
{
freopen("next.in", "r", stdin);
freopen("next.out", "w", stdout);
scanf("%s", s+1);
v[0] = strlen(s+1);
int i;
long long unsigned d;
scanf("%llu", &d);
for(i = 1;i <= v[0];i++){
v[i] = (s[v[0] - i + 1] - '0');
}
long long unsigned R = divide(d);
if(R){
nxt[0] = nxt[1] = 1;
add();
}
mult(d);
for(i = v[0];i >= 1;i--){
printf("%d", v[i]);
}
return 0;
}