Pagini recente » Cod sursa (job #1687550) | Cod sursa (job #356789) | Cod sursa (job #1260301) | Istoria paginii grigore-moisil-2017/clasament/10 | Cod sursa (job #272869)
Cod sursa(job #272869)
#include <stdio.h>
#include <string.h>
const int N=1000000;
char c[N-1];
int c2[N-1];
int e[N-1];
long long d,rest=0;
void obtinere(FILE *f1)
{
int i,nr=1;
fgets(c,N-1,f1);
c2[0]=strlen(c)-1;
for(i=c2[0]-1;i>=0;i--)
c2[nr++]=c[i]-'0';
fscanf(f1,"%lld",&d);
}
void restimpartire()
{
int i,t=0;
for(i=c2[0];i>0;i--)
rest=(t=t*10+c2[i])%d;
}
void vector()
{
long long a,nr=1;
a=d;
e[0]=0;
while(a)
{
e[0]++;
e[nr++]=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;
FILE *f1,*f2;
f1=fopen("next.in","r");
f2=fopen("next.out","w");
obtinere(f1);
restimpartire();
if(rest==0)
for(i=c2[0];i>=1;i--)
fprintf(f2,"%d",c2[i]);
else
{
d=d-rest;
vector();
suma();
for(i=c2[0];i>=1;i--)
fprintf(f2,"%d",c2[i]);
}
return 0;
}