Pagini recente » Cod sursa (job #2772866) | Cod sursa (job #1861572) | Cod sursa (job #2406339) | Cod sursa (job #2068383) | Cod sursa (job #1788638)
#include <iostream>
#include <fstream>
using namespace std;
const int CMAX=1000002;
ifstream f("next.in");
ofstream g("next.out");
char N[CMAX];
int lg;
long long D;
void citire()
{
char c;
lg=0;
f.get(c);
while(c!='\n')
{
N[++lg]=c-'0';
f.get(c);
}
int i=lg, j=1;
while(j<i)
swap(N[j++],N[i--]);
}
long long mod(char A[],int lg, long long B)
{
int i;
long long t = 0;
for (i = lg; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
void add(char A[], int &lg, long long r)
{ int i;
long long t=r;
for (i=1; i<=lg || t; i++, t/=10)
A[i] = (t += A[i]) % 10;
lg = i - 1;
}
int main()
{
citire();
f>>D;
long long rest=mod(N,lg,D);
if(rest>0)
add(N,lg,D-rest);
for(int i=lg;i>=1;i--)
g<<(int)N[i];
return 0;
}