Pagini recente » Cod sursa (job #3235370) | Cod sursa (job #1985290) | Cod sursa (job #254033) | Cod sursa (job #2490497) | Cod sursa (job #272742)
Cod sursa(job #272742)
#include <stdio.h>
#include <string.h>
const int N=1000000;
char c[N];
int c2[N];
long long d,rest=0;
void obtinere()
{
int i,nr=1;
fgets(c,N-1,stdin);
puts(c);
c2[0]=strlen(c)-1;
for(i=c2[0];i>=0;i--)
c2[nr++]=c[i]-'0';
for(i=1;i<=c2[0];i++)
c[i]=c2[i];
c[0]=c2[0];
scanf("%lld",&d);
}
void restimpartire()
{
int i,t=0;
for(i=c2[0];i>0;i--)
rest=(t*10+c2[i])%d;
}
void vector()
{
long long a,nr=1;
a=rest;
c2[0]=0;
while(a)
{
c2[nr++]=a%10;
c2[0]++;
a=a/10;
}
}
void suma()
{
int i,t=0;
for(i=1;i<=c[0] || i<=c2[0] || t;i++,t=t/10)
c[i]=(t=t+c[i]+c2[i])%10;
c[0]--;
}
int main()
{
freopen("next_.in","r",stdin);
freopen("next.out","w",stdout);
long i;
obtinere();
restimpartire();
if(rest==0)
for(i=1;i<=c[0];i++)
printf("%c",c[i]);
else
{
d=d-rest;
vector();
suma();
for(i=1;i<=c[0];i++)
printf("%c",c[i]);
}
return 0;
}