Cod sursa(job #159493)

Utilizator FlorinC1996Florin C FlorinC1996 Data 14 martie 2008 10:32:15
Problema Cifra Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.35 kb
 #include <stdio.h>   
#include <string.h>   
int main (void) {   
    FILE * fi = fopen("cifra.in","rt");   
    FILE * fo = fopen("cifra.out","wt");   
//  char c1='0', c2='0', c=' ';   
    int u[10][4],i;   
    for (i=0; i<=9; i++) {   
        u[i][1]=i%10;   
        u[i][2]=(i*i)%10;   
        u[i][3]=(i*i*i)%10;   
        u[i][0]=(i*i*i*i)%10;   
    };   
    long s[100]={0}, r4=1;   
    for (i=1; i<=100; i++) {   
        s[i]=(s[i-1]+u[i%10][r4])%10;   
        r4=(r4==3?0:r4+1);   
    };   
    int n;   
    int t; char nin[100];   
    fscanf(fi,"%d\n",&t);   
    for (i=1; i<=t; i++) {   
        fscanf(fi,"%s\n",&nin);   
        if (nin[1]=='\0') {   
            n=nin[0]-'0';   
        } else {   
            n=(nin[strlen(nin)-2]-'0')*10+(nin[strlen(nin)-1]-'0');   
        };   
        fprintf(fo,"%d\n",s[n]);   
    };   
/*  fscanf(fi,"%d\n",&t);  
    while (t0<t) {  
        n=-1;  
        while (n==-1) {  
            fscanf(fi,"%c",&c);  
            if (c=='\n') {  
                n=(c1-'0')*10+(c2-'0');  
                break;  
            } else {  
                c1=c2;  
                c2=c;  
            };  
        };  
        fprintf(fo,"%ld\n",s[n]%10);  
        c1='0'; c2='0';  
        t0++;  
    };*/  
    fclose(fi); fclose(fo);   
    return 0;   
};