Cod sursa(job #1559852)

Utilizator Darius15Darius Pop Darius15 Data 31 decembrie 2015 17:30:59
Problema Next Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
ifstream f("next.in");
ofstream g("next.out");
string s;
struct numar{short int a[1000001];};
numar a,b,rez;
int u,i,l;
long long r=0,d,dead;
void impartire()
{
  int j;
  for (j=a.a[0];j>=1;j--)
      r=r*10+a.a[j],r%=d;
}
void adunare()
{
  int j,t=0;
  for (j=1;j<=a.a[0] || j<=b.a[0];j++)
    t=t+a.a[j]+b.a[j],rez.a[j]=t%10,t/=10;
  while(t)
    j++,rez.a[j]=t%10,t=t/10;
  rez.a[0]=j-1;
}
int main()
{
    f>>s;
    u=s.length();
    a.a[0]=u;
    for (i=0;i<u;i++)
      a.a[u-i]=s[i]-'0';
    f>>d;
    impartire();
    dead=d-r;
    while(dead)
    {
      b.a[++l]=dead%10;
      dead/=10;
    }
    b.a[0]=l;
    adunare();
    for (i=rez.a[0];i>=1;i--)
      g<<rez.a[i];
    return 0;
}