Pagini recente » Cod sursa (job #237587) | Cod sursa (job #1596390) | Cod sursa (job #2051003) | Cod sursa (job #3146525) | Cod sursa (job #3225604)
#include <bits/stdc++.h>
#define QED fin.close(); fout.close(); return 0;
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
typedef long long int llong;
#define cin fin
#define cout fout
const int NMAX = 1000005;
int a[NMAX];
void citire(int A[])
{
char S[NMAX + 1];
cin >> S;
A[0] = strlen(S);
for(int i = 1; i <= A[0]; i++)
A[i] = S[A[0] - i] - '0';
}
void adunare(int A[], llong B)
{
llong T = B;
for(int i = 1; i <= A[0] && T > 0; i++)
{
T += A[i];
A[i] = T % 10;
T /= 10;
}
while(T > 0)
{
A[++A[0]] = T % 10;
T /= 10;
}
}
void sol(int A[], llong B)
{
llong T = 0, aux = B;
for(int i = A[0]; i >= 1; i--)
{
T = T * 10 + A[i];
T %= B;
}
if(aux - T != 0)
adunare(a, aux - T);
}
int main()
{
citire(a);
llong b;
cin >> b;
sol(a, b);
for(int i = a[0]; i >= 1; i--)
cout << a[i];
QED
}