Cod sursa(job #2107478)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 17 ianuarie 2018 11:55:57
Problema Next Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
char S[1000001];
int v[1000001],n,i,ok,k;
long long d,r,t,sol[1000001];
int main()
{   f>>S;
    f>>d;
    n=strlen(S);
    for(i=0;i<=strlen(S)-1;i++){
        v[i+1]=S[i]-'0';
    }
    t=0;
    for(i=1;i<=n;i++){
        t=t*10+v[i];
        t=t%d;
    }
    if(t==0){
        for(i=1;i<=n;i++)
            g<<v[i];
    }
    else{
    t=d-t;i=n;k=0;
    while(t!=0){
        v[i]=t%10+v[i]+r;
        r=v[i]/10;
        v[i]=v[i]%10;
        sol[++k]=v[i];
        i--;
        t=t/10;
    }
    ok=1;
    while(ok==1){
        ok=0;
        if(r!=0){
            v[i]=v[i]+r;
            r=v[i]/10;
            v[i]=v[i]%10;
            sol[++k]=v[i];
            ok=1;
            i--;
        }
    }
    for(i=k;i>=1;i--){
        g<<sol[i];
    }
    }
    return 0;
}