Pagini recente » Cod sursa (job #2913777) | Cod sursa (job #135193) | Cod sursa (job #67803) | Cod sursa (job #2606206) | Cod sursa (job #55741)
Cod sursa(job #55741)
#include <stdio.h>
#define in "next.in"
#define out "next.out"
#define NMAX 1000005
//#define NMAX 51
long long D, R, rest;
int a[NMAX], b[NMAX], sir[NMAX];
void Read();
void Solve();
long long mod(int A[], long long B);
void add( int A[], int B[] );
FILE *fout = fopen( out, "w" );
int main()
{
Read();
Solve();
fclose( fout );
return 0;
}
void Read()
{
FILE *fin = fopen( in, "r" );
char c; int ind = 1;
while ( fscanf( fin, "%c", &c ) && c != '\n' )
{
a[ind] = c - 48;
ind++;
}
fscanf( fin, "%lld", &D );
ind--;
a[0] = ind;
fclose( fin );
}
void Solve()
{
int i;
int n = 1;
for ( i = a[0]; i >= 1; --i )
{
b[n] = a[i];
n++;
}
n--;
b[0] = n;
//R = mod( b, D );
rest = ( D - R ) % D;
n = 1;
/*while ( rest )
{
sir[n] = rest % 10;
rest /= 10;
n++;
}*/
n--;
sir[0] = n;
//add( b, sir );
//AFISAREA
for ( i = b[0]; i >= 1; --i )
{
fprintf( fout, "%d", b[i] );
}
}
long long mod(int A[], long long B)
{
int i;
long long t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
void add(int A[], int B[])
{
int i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=10)
A[i] = (t += A[i] + B[i]) % 10;
A[0] = i - 1;
}