Cod sursa(job #2223343)

Utilizator arvlgeArdeleanu Vlad George arvlge Data 19 iulie 2018 20:11:20
Problema Cifra Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

typedef unsigned int uint;

uint _PowXToTheX(uint x){
    uint i,p=1;
    for(i=1;i<=x;i++)
        p*=x;
    return p;
}

int _StrToNrDiv100(char*n){
    int len=strlen(n);
    switch(len){
        case 1:
        case 2:
            return atoi(n);
        default:
            return atoi(n+len-2);
    }
}

int main(){
    FILE*fi,*fo;
    int t,i,val;
    char n[121];
    uint v[100];
    v[0]=0;
    //precomputare
    for(i=1;i<=99;i++)
        v[i]=(v[i-1]+_PowXToTheX(i))%10;
    fi=fopen("cifra.in","rt");
    fo=fopen("cifra.out","wt");
    fscanf(fi,"%d",&t);
    fgetc(fi);
    for(i=0;i<t;i++){
        fgets(n,121,fi);
        val=_StrToNrDiv100(n);
        printf("%d\n",val);
        fprintf(fo, "%d\n", v[val] );
    }
    fclose(fi);
    fclose(fo);
    return 0;
}