Pagini recente » Cod sursa (job #1013828) | Cod sursa (job #518090) | Cod sursa (job #2855256) | Cod sursa (job #2663156) | Cod sursa (job #2109309)
#include <iostream>
#include<fstream>
#include<string.h>
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
char s[1000003];
int a[1000003];
long long d;
unsigned long Divide(int A[], unsigned long X)
/* A <- A/X si intoarce A%X */
{
unsigned long R = 0;
for(int i = A[0]; i; i--)
R = (10 * R + A[i]) % X;
return R;
}
void Add(int A[], long long T)
/* A <- A+B */
{
int i;
for(i = 1; i <= A[0]; i++)
{
T += A[i];
A[i] = T % 10;
T /= 10;
}
while(T > 0)
{
A[++A[0]] = T % 10;
T /= 10;
}
}
int main()
{
f.getline(s, 1000003);
f >> d;
a[0] = strlen(s);
for(int i = a[0]; i >= 1; i--)
a[i] = s[a[0] - i] - 48;
long long r = Divide(a, d);
if(r > 0)
Add(a, d-r);
for(int i = a[0]; i >= 1; i--)
g << a[i];
return 0;
}