Pagini recente » Cod sursa (job #2829614) | Cod sursa (job #1255223) | Cod sursa (job #380029) | Cod sursa (job #253516) | Cod sursa (job #273894)
Cod sursa(job #273894)
#include <stdio.h>
#include <string.h>
const int N=1000001;
char c[N-1];
int c2[N-1];
int e[N-1];
long long d,rest=0;
void obtinere()
{
int i,nr=1;
fgets(c+1,N-1,stdin);
for(i=1;i<=N;i++)
if(c[i]=='\n')
break;
else
c2[0]++;
c[c2[0]+1]=0;
for(i=c2[0];i>=1;i--)
c2[nr++]=c[i]-'0';
scanf("%lld",&d);
}
void restimpartire()
{
int i,t=0;
for(i=c2[0];i>0;i--)
{
t=t*10+c2[i];
rest=t%d;
}
}
void vector()
{
long long a;
int i;
a=d;
e[0]=0;
for(i=1;i<=N;i++)
{
if(a==0)
break;
e[0]++;
e[i]=a%10;
a=a/10;
}
}
void suma()
{
int i,t=0;
for(i=1;i<=c2[0] || i<=e[0] || t;i++,t=t/10)
{
t=t+c2[i]+e[i];
c2[i]=t%10;
}
}
int main()
{
int i;
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
obtinere();
restimpartire();
if(rest==0)
for(i=c2[0];i>=1;i--)
printf("%d",c2[i]);
else
{
d=d-rest;
vector();
suma();
for(i=c2[0];i>=1;i--)
printf("%d",c2[i]);
}
return 0;
}