Pagini recente » Cod sursa (job #2831880) | Cod sursa (job #2565176) | Cod sursa (job #2328938) | Cod sursa (job #2432468) | Cod sursa (job #38433)
Cod sursa(job #38433)
#include <stdio.h>
#include <string>
using namespace std;
#define in "next.in"
#define out "next.out"
#define dim 1000002
int size, nr[dim];
int A[dim];
long long d;
char c[dim];
int main()
{
size=0;
FILE *fin = fopen(in,"r");
freopen(out,"w",stdout);
fgets(c,dim,fin);
fscanf(fin,"%lld", &d);
while ( c[size] >= '0' && c[size] <= '9' ) size++;
int i;
size -= 1;
for (i = 0; i <= size; i++ )
A[size-i+1] = (int)c[i]-48;
A[0] = size+1;
long long t = 0;
for (i = A[0]; i >= 1; i-- )
{
t = (t * 10 + A[i] ) % d;
}
if ( t == 0 )
{
for ( i = A[0]; i >= 1; i-- )
printf("%d",A[i]);
}
else
{
nr[0] = 0;
t = d-t;
int i;
while ( t ) { nr[0]++, nr[nr[0]] = t % 10, t /= 10; };
t = 0;
for ( i = 1; i <= A[0] || i <= nr[0] || t; i++, t/=10 )
A[i] = (t += A[i] + nr[i]) % 10;
A[0] = i - 1;
for ( int i = A[0]; i >= 1; i-- )
printf("%d", A[i]);
}
}