Pagini recente » Cod sursa (job #1235826) | Cod sursa (job #1990883) | Cod sursa (job #2455806) | Cod sursa (job #2135824) | Cod sursa (job #702355)
Cod sursa(job #702355)
using namespace std;
#include<cstdio>
#include<algorithm>
#define MAX 1000005
int A[MAX],B[MAX];
void citire()
{
int i=0;
char chs;
do{
scanf("%c",&chs);
if(chs!='\n')
A[++i]=chs-'0';
else
{
reverse(A+1,A+i+1);
A[0]=i;
}
}while(chs!='\n');
}
void div(int D)
{
int i,t;
for(i=A[0],t=0;i>0;A[i]=(t=t*10+A[i])/D,t=t%D,i--);
for(;(A[0]>0)&&(!A[A[0]]);A[0]--);
}
void mult(int D)
{
int i,t;
for(i=1,t=0;i<=A[0]||t;A[i]=(t=A[i]*D+t)%10,t=t/10,i++);
A[0]=i-1;
}
void cifre(long long D)
{
int i=0;
while(D)
{
B[++i]=D%10;
D=D/10;
}
B[0]=i;
}
void adun()
{
int i,t;
for(i=1,t=0;i<=A[0]||i<=B[0]||t;A[i]=(t=A[i]+B[i]+t)%10,t=t/10,i++);
A[0]=i-1;
}
void afisare()
{
int i;
for(i=A[0];i;i--)
printf("%d",A[i]);
}
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
long long D;
citire();
scanf("%lld",&D);
div(D);
mult(D);
cifre(D);
adun();
afisare();
return 0;
}