Pagini recente » Cod sursa (job #2784846) | Cod sursa (job #1736154) | Cod sursa (job #2838440) | Cod sursa (job #1653064) | Cod sursa (job #295518)
Cod sursa(job #295518)
#include<fstream>
using namespace std;
ifstream f1 ("next.in");
ofstream f2 ("next.out");
int v[100],v2[17];
void suma ()
{
int i, t = 0,x;
if (v[0]>v2[0]) x=v[0];
else x=v2[0];
for (i=x; i>=1||t; i--)
v[i]=(t+=v[i]+v2[i])%10;
v[0] = i - 1;
}
int mod(int v[100], int b)
{
int i, t = 0;
for (i = 1; i<=v[0]; i++)
t = (t*10 + v[i]) % b;
return t;
}
int main()
{
int m,i;
long long d,t;
char c;
i=0;
while (f1.get(c) && int(c)>=48) {i++; v[i]=int(c)-48;}
v[0]=i;
f1>>d;
t=mod(v,d);
t=d-t;
if (t==d) for (i=1; i<=v[0]; i++) f2<<v[i];
else {
i=1;
while (t!=0) {v2[i]=t%10; t/=10; i++;}
v2[0]=i;
suma();
for (i=1; i<=v[0]; i++) f2<<v[i];
}
return 0;
}