Cod sursa(job #358013)

Utilizator maryusik93Turcu Marius maryusik93 Data 21 octombrie 2009 18:07:38
Problema Cifra Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 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;
};