Cod sursa(job #2323586)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 19 ianuarie 2019 13:22:53
Problema Sarpe Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <cstdio>
#include <iostream>

using namespace std;
int v[10000];
void add(int x){
    int i,t=0;
    v[1]+=x;
    for (i=1;i<=v[0];i++){
        v[i]+=t;
        t=v[i]/10;
        v[i]%=10;
    }
    if (t)
        v[++v[0]]=1;
}
void inmult (int x){
    int i,t=0;
    for (i=1;i<=v[0];i++){
        v[i]=v[i]*x+t;
        t=v[i]/10;
        v[i]%=10;
    }
    while (t){
        v[++v[0]]=t%10;
        t/=10;
    }
}
int main()
{
    FILE *fin=fopen ("sarpe.in","r");
    FILE *fout=fopen ("sarpe.out","w");
    int st,dr,i;
    char c;
    c=fgetc (fin);
    while ('0'<=c && c<='9'){
        v[++v[0]]=c-'0';
        c=fgetc (fin);
    }
    st=1;
    dr=v[0];
    while (st<dr){
        swap(v[st],v[dr]);
        st++;
        dr--;
    }
    if (v[0]==1 && v[1]==1)
        fprintf (fout,"1");
    else if (v[0]==1 && v[1]==2)
        fprintf (fout,"8");
    else {
        inmult (4);
        add(4);
        for (i=v[0];i;i--)
            fprintf (fout,"%d",v[i]);
    }
    return 0;
}