Pagini recente » Cod sursa (job #2508233) | Cod sursa (job #2312256) | Cod sursa (job #1461407) | Cod sursa (job #2514457) | Cod sursa (job #870471)
Cod sursa(job #870471)
#include<stdio.h>
#include<string.h>
char c[1000010],cat[10000010];
void imp(long long d,int l,char c[],char cat[],int &lcat)
{
int i,r=0;
for(i=l-1;i>=0;i--)
{
r=r*10+c[i];
cat[i]=r/d;
r=r%d;
}
while(cat[lcat-1]==0&&lcat>1)
lcat--;
if(r!=0)
cat[0]++;
i=0;
while(cat[i]>9)
{
cat[i]=0;
cat[i+1]++;
i++;
}
if(i>lcat-1)
lcat++;
}
void inm(long long d,char cat[],int &lcat)
{
int i;
long long r=0;
for(i=0;i<lcat;i++)
{
r=r+cat[i]*d;
cat[i]=r%10;
r=r/10;
}
while(r)
{
cat[i]=r%10;
r=r/10;
i++;
}
lcat=i;
}
void afisare(char c[],int l)
{
int i;
for(i=l-1;i>=0;i--)
printf("%d",c[i]);
printf("\n");
}
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
int l,lcat,i,aux;
long long d;
scanf("%s",&c);
scanf("%lld",&d);
l=strlen(c);
if(c[l-1]=='\n')
l--;
lcat=l;
for(i=0;i<=(l-1)/2;i++)
{
aux=c[i];
c[i]=c[l-1-i]-'0';
c[l-1-i]=aux-'0';
}
imp(d,l,c,cat,lcat);
inm(d,cat,lcat);
afisare(cat,lcat);
}