Pagini recente » Cod sursa (job #203674) | Cod sursa (job #1965876) | Cod sursa (job #1595732) | Cod sursa (job #821366) | Cod sursa (job #272844)
Cod sursa(job #272844)
#include <stdio.h>
#include <string.h>
const int N=1000000;
char c[N];
int c2[N];
int e[N];
int d,rest=0;
void obtinere(FILE *f1)
{
int i,nr=1;
fgets(c,N,f1);
c2[0]=strlen(c)-1;
for(i=c2[0]-1;i>=0;i--)
c2[nr++]=c[i]-'0';
fscanf(f1,"%d",&d);
}
void restimpartire()
{
int i,t=0;
for(i=c2[0];i>0;i--)
rest=(t=t*10+c2[i])%d;
}
void vector()
{
int a,nr=1;
a=d;
e[0]=0;
while(a)
{
e[0]++;
a=a/10;
}
nr=e[0];
while(d)
{
e[nr--]=d%10;
d=d/10;
}
}
void suma()
{
int i,t=0;
for(i=1;i<=c2[0] || i<=e[0] || t;i++,t=t/10)
c2[i]=(t=t+c2[i]+e[i])%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=1;i<=c2[0];i++)
fprintf(f2,"%c",c2[i]);
else
{
d=d-rest;
vector();
suma();
for(i=1;i<=c2[0];i++)
fprintf(f2,"%d",c2[i]);
}
return 0;
}