Pagini recente » nave-prea-usor | Istoria paginii runda/flux | Cod sursa (job #2042648) | Cod sursa (job #1276843) | Cod sursa (job #2019072)
#include <fstream>
#define VAL 1000005
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
int N[VAL], i, j;
int cif[VAL];
long long D, R;
string s;
void Find_Modulo()
{
int i;
for (i=N[0]; i>0; i--)
R=(R*10+N[i]) % D;
}
void Add()
{
int t=0, C;
for (i=1; i<=max(cif[0], N[0]); i++)
{
C=N[i]+cif[i]+t;
N[i]=C % 10;
if (C>9)
t=1;
else
t=0;
}
N[0]=max(N[0], cif[0]);
if (t==1)
N[++N[0]]=1;
}
int main()
{
fin >> s >> D;
N[0]=s.size();
for (j=0; j<s.size(); j++)
N[s.size()-j]=s[j]-'0';
Find_Modulo();
if (R>0)
R=D-R;
while (R!=0)
{
cif[++cif[0]]=R % 10;
R/=10;
}
Add();
for (i=N[0]; i>0; i--)
fout << N[i];
fin.close();
fout.close();
return 0;
}