Pagini recente » Cod sursa (job #281240) | Cod sursa (job #2642175) | Cod sursa (job #2079781) | Cod sursa (job #2296705) | Cod sursa (job #1789870)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
long long D,n=1,R;
char c;
int a[1000010];
void Mod(int a[], long long D)
{
long long i;
for (i=2; i<=n; i++)
R=(10*R+a[i])%D;
}
void adun(int a[], long long R)
{
long long t=0,i;
for( i=n; i; i--)
{
t+=a[i]+R%10;
R/=10;
a[i]=t%10;
t/=10;
if(R==0)break;
}
while(t>0)
{
i--;
t+=a[i];
a[i]=t%10;
t/=10;
}
}
void afisare()
{
if(a[1]!=0)g<<a[1];
for(long long i=2; i<=n; i++)
g<<a[i];
}
int main()
{
f.get(c);
while(c != '\n')
{
a[++n]=c-48;
f.get(c);
}
f>>D;
Mod(a,D);
R=D-R;
if(R!=D)adun(a,R);
afisare();
}