Cod sursa(job #2003841)

Utilizator lucametehauDart Monkey lucametehau Data 24 iulie 2017 08:56:54
Problema Next Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;
ifstream cin("next.in");
ofstream cout("next.out");
char c;
int i,a[1000002],b[20];
long long d,t,nr;
int main()
{
    while(cin.get(c)&&c!='\n')
        a[++a[0]]=c-'0';
    for(i=1;i<=a[0]/2;i++)
        swap(a[i],a[a[0]-i+1]);
    cin>>d;
    for(i=a[0];i>=1;i--)
        t=(t*10+a[i])%d;
    nr=(d-t)%d;
    if(nr==0)
        b[++b[0]]=0;
    while(nr)
    {
        b[++b[0]]=nr%10;
        nr/=10;
    }
    t=0;
    for(i=1;i<=a[0]||i<=b[0]||t;i++,t/=10)
        a[i]=(t+=a[i]+b[i])%10;
    a[0]=i-1;
    for(i=a[0];i>=1;i--)
        cout<<a[i];
    cout<<"\n";
    return 0;
}