Pagini recente » Cod sursa (job #2217283) | Cod sursa (job #2613611) | Cod sursa (job #990850) | Cod sursa (job #348350) | Cod sursa (job #68291)
Cod sursa(job #68291)
#include<stdio.h>
#include<string.h>
FILE*f=fopen("next.in","r");
FILE*g=fopen("next.out","w");
long long d,r;
short int b[1000001];
int a[1000001];
void read()
{
char x[1000001];
fscanf(f,"%s\n",x);
fscanf(f,"%lld",&d);
long long i;
a[0]=strlen(x);
for(i=0;i<a[0];++i)
{
a[a[0]-i]=x[i]-'0';
}
}
long mod(int A[], long long B)
{
long long i, t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}/*
void add()
{
long long i,t=0,c;
i=1;
while(i<=a[0]||d!=0)
{
c=a[i];
if(i>a[0])a[0]++;
a[i]=(a[i]+t+d%10)%10;
t=(c+d%10+t)/10;
d=d/10;
i++;
}
if(t>0) a[++a[0]]=t;
}*/
void add(int A[],short int B[])
{
long long i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
A[i] = (t += A[i] + B[i]) % 10;
}
void transform()
{
b[0]=0;
while (d)
{
b[0]++ ;
b[b[0]]=d%10;
d/=10;
}
}
int main()
{
read();
long long i;
r=mod(a,d);
d=(d-r)%d;
add(a,b);
for(i=a[0];i>=1;--i) fprintf(g,"%d",a[i]);
return 0;
}