Pagini recente » Cod sursa (job #23879) | Cod sursa (job #415249) | Cod sursa (job #152614) | Cod sursa (job #2024383) | Cod sursa (job #38175)
Cod sursa(job #38175)
#include<string.h>
#include<fstream.h>
ifstream f("next.in");
ofstream g("next.out");
char a[10000],b[20];
int c[10000];
long va,vb;
void read()
{f.get(a,1000);
va=strlen(a);
f.get();
f.get(b,20);
vb=strlen(b);
}
int imp(char a[],long long d)
{long long r=0;
for(long i=0;i<va;i++)
{r=r*10+(a[i]-48);
a[i]=r/d+48;
r=r%d;
}
if(r) return 1;
return 0;
}
void inmM(char a[],char b[])
{long long r;
for(long i=va-1;i>-1;i--)
{r=0;
for(long j=vb-1; j>-1;j--)
{r=r+c[i+j+1]+(a[i]-48)*(b[j]-48);
c[i+j+1]=r%10;
r=r/10;
}
c[i]=c[i]+r;
}
}
int main()
{read();
if(vb<=9)
{long long x=0;
long i=0;
while(i<vb)
{x=x*10+(b[i]-48);
i++;
}
if(imp(a,x)==1) a[va-1]++;
inmM(a,b);
i=0;
while(c[i]==0) i++;
for(;i<=va+vb-1;i++)
g<<c[i];
}
else g<<a;
return 0;
}