Pagini recente » Cod sursa (job #864557) | Cod sursa (job #2191692) | Cod sursa (job #2387252) | Cod sursa (job #2473717) | Cod sursa (job #1788627)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
const int CMAX=1000002;
ifstream f("next.in");
ofstream g("next.out");
char N[CMAX];
int A[CMAX];
long long D;
void copiere(int A[], char N[], int lg)
{
A[0]=lg;
int i=1,j=lg-1;
for(;j>=0;)
A[i++]=N[j--]-48;
}
int mod(int A[], long long B)
{
int i, t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
void add(int A[], long long r)
{
long long t=r;
for(int i=1;i<=A[0];i++)
{
t+=A[i];
A[i]=t%10;
t/=10;
}
while(t>0)
{
A[0]++;
A[A[0]]=t%10;
t/=10;
}
}
int main()
{
f.getline(N,CMAX);
copiere(A, N, strlen(N));
f>>D;
long long rest=mod(A,D);
if(rest>0)
add(A,D-rest);
for(int i=A[0];i>=1;i--)
g<<A[i];
return 0;
}