Pagini recente » Cod sursa (job #2099122) | Cod sursa (job #1624817) | Cod sursa (job #1503765) | Cod sursa (job #1320425) | Cod sursa (job #976054)
Cod sursa(job #976054)
#include<stdio.h>
int v[1000005];
int x[17];
long long mod(int A[], long long B)
{
int i, t = 0;
for (i = 1; i <= A[0]; i++)
t = (t * 10 + A[i]) % B;
return t;
}
void add(int B[])
{
int i, t = 0;
int max=v[0];
max=B[0];
for (i=1; i<=v[0] || i<=B[0] || t; i++, t/=10)
v[i] = (t += v[i] + B[i]) % 10;
v[0] = i - 1;
}
int main()
{
FILE *fin,*fout;
fin=fopen("next.in","r");
fout=fopen("next.out","w");
char c=fgetc(fin);
int cont=1;
while(c!='\n')
{
v[cont]=(c-'0');
cont++;
c=fgetc(fin);
}
v[0]=cont-1;
long long d;
fscanf(fin,"%lld",&d);
long long rest=mod(v,d);
rest=d-rest;
cont=0;
while(rest!=0)
{
cont++;
x[cont]=rest%10;
rest/=10;
}
x[0]=cont;
int i;
for(i=1;i<=v[0]/2;i++)
{
int aux=v[i];
v[i]=v[v[0]-i+1];
v[v[0]-i+1]=aux;
}
add(x);
for(cont=v[0];cont>=1;cont--)
fprintf(fout,"%d",v[cont]);
return 0;
}