Cod sursa(job #2003837)

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

using namespace std;
ifstream cin("next.in");
ofstream cout("next.out");
char s[1000001];
int i,a[1000001],b[20];
long long d,t,nr;
int main()
{
    cin>>(s+1);
    for(i=1;s[i];i++)
        a[++a[0]]=s[i]-'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;
    if(t==0)
        nr=0;
    else
        nr=d-t;
    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];
    return 0;
}