Cod sursa(job #75502)

Utilizator mircea_infoSuciu Mircea-Gabriel mircea_info Data 2 august 2007 14:29:39
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
int n,k,a[300],t;
int b[21];
void citire(){
     freopen("cifra.in","r",stdin);
     scanf("%ld",&t);
     for(int i=0;i<t;i++)
         scanf("%ld",&a[i]);
}
int genvect(){
     int s=0;
     b[0]=1; b[10]=1;
     b[1]=4; b[17]=4;
     b[2]=7; b[16]=7;
     b[3]=6; b[5]=6; b[7]=6; b[11]=6; b[13]=6; b[15]=6;
     b[4]=5; b[14]=5;
     b[6]=3; b[12]=3;
     b[8]=9; b[18]=9;
     for(int i=0;i<10;i++)
        s+=b[i];
     return s%10;   
}
         
int rezolvare(long n){
        int nr=n/10, spart=0;
        int sfin=(nr*genvect())%10;
        while(n>=20)
            n-=20;
        for(int i=0;i<n;i++)     
            spart+=b[i];
        sfin+=spart%10;
        sfin%=10;
        return sfin;        
}
void afisare(){
     freopen("cifra.out","w",stdout);
     for(int i=0;i<t;i++)
         printf("%d\n",rezolvare(a[i]));
     fclose(stdout);
}         
int main(){
    citire();
    afisare();
    return 0;
}