Cod sursa(job #1982137)

Utilizator calistrat1Andrei Ionescu calistrat1 Data 17 mai 2017 19:06:21
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream fin ("next.in");
ofstream fout ("next.out");
const int NMAX=1000000;
int main()
{
    int i,tr=0;
    long long cif=0,r,k,aux;
    char ch,a[NMAX+5],c[NMAX+5];
    ch=fin.get();
    while(ch!='\n')
    {
        if(ch==' ')
        {
            ch=fin.get();
            continue;
        }
        a[++a[0]]=ch-'0';
        ch=fin.get();
    }
    reverse(a+1,a+a[0]+1);
    fin>>k;
    memset (c,0,sizeof(c));
    r=0;
    for(i=a[0]; i>=1; i--)
    {
        r=r*10+a[i];
        c[++c[0]]=r/k;
        r=r%k;
    }
    reverse(c+1,c+c[0]+1);
    while(c[c[0]]==0&&c[0]>1)
        c[0]--;
    c[1]++;

    if(c[1]>9)
    {
    tr=1;
    c[1]=c[1]%10;
    }
    for(i=2;i<=c[0];i++)
    {
    aux=c[i]+tr;
    c[i]=aux%10;
    tr=aux/10;
    }
    if(tr)
    c[++c[0]]=tr;
    long long tra1=0;
    for(i=1;i<=c[0];i++)
    {
    aux=c[i]*k;+tra1;
    c[i]=aux%10;
    tra1=aux/10;
    }
    while(tra1)
    {
    c[++c[0]]=tra1%10;
    tra1=tra1/10;
    }
    for(i=c[0];i>=1;i--)
    fout<<(int) c[i];
    return 0;
}