Cod sursa(job #240937)

Utilizator lucibicsiLucian Bicsi lucibicsi Data 8 ianuarie 2009 22:06:41
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
include<stdio.h>  
#include<string.h>  
int main ( void )   
{  
    int put[][5] = {  
    {0,0,0,0,0},  
    {1,1,0,0,0},  
    {6,2,4,8,0},  
    {1,3,9,7,1},  
    {6,4,6,0,0},  
    {5,5,0,0,0},  
    {6,6,0,0,0},  
    {1,7,9,3,1},  
    {6,8,4,2,6},  
    {1,9,1,0,0}  
    };  
    int i,t,s,j,u,nr;  
    char n[101];  
    int rep[]={1,1,2,3,2,1,1,4,4,2};  
    FILE * in = fopen("cifra.in","r");  
    FILE * out = fopen("cifra.out","w");  
    fscanf(in, "%d", &t);  
    for(i = 0;i < t;i++) {  
        s = 0;  
        fscanf(in,"%s",&n);  
        if (strlen(n) - 1)  
            nr = n[strlen(n)-1] + n[strlen(n)-2]*10-528;     
        else          
            nr = n[0]-48;  
        for(j = 1;j <= nr; j++) {  
            u = j % 10;  
            switch(u) {  
                case 1:case 5:case 6:case 0: s+=u; break;  
                case 4:case 9:   s+=put[u][j%2]; break;  
                default:      s+=put[u][j%4]; break;  
            }  
            s%=10;  
        }  
        fprintf(out,"%d\n",s);  
    }  
    fclose(in);  
    fclose(out);  
    return 0;  
}