Cod sursa(job #1327395)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 26 ianuarie 2015 18:02:43
Problema Koba Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#define MAXV 999
int ap[MAXV+1], v[MAXV+3];
int main(){
    int n, a, b, c, i, aux, x;
    FILE *fin, *fout;
    fin=fopen("koba.in", "r");
    fout=fopen("koba.out", "w");
    fscanf(fin, "%d%d%d%d", &n, &a, &b, &c);
    a%=10;
    b%=10;
    c%=10;
    v[1]=a;
    v[2]=a+b;
    v[3]=a+b+c;
    i=3;
    do{
        ap[a*100+b*10+c]=i;
        i++;
        aux=c;
        c=(c+b*a)%10;
        a=b;
        b=aux;
        v[i]=v[i-1]+c;
    }while((ap[a*100+b*10+c]==0)&&(i<n));
    if(i>=n){
        fprintf(fout, "%d\n", v[i]);
    }else{
        x=ap[a*100+b*10+c];
        fprintf(fout, "%d\n", (v[i]-v[x])*((n-x)/(i-x))+v[x+(n-x)%(i-x)]);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}