Cod sursa(job #413238)

Utilizator vanciokCiouca Eugen Alexandru vanciok Data 7 martie 2010 23:22:33
Problema Cifra Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.61 kb
#include <stdio.h>

int cifra (int q)
{
    int s=0,i;
    
    for (i=1;i<=q;i++) {
        switch (i%10) {
               case 1: s+=1; break;
               case 2: if (i%4==0) { s+=6; break; }
                       if (i%4==1) { s+=2; break; }
                       if (i%4==2) { s+=4; break; }
                       if (i%4==3) { s+=8; break; }
               case 3: if (i%4==0) { s+=1; break; }
                       if (i%4==1) { s+=3; break; }
                       if (i%4==2) { s+=9; break; }
                       if (i%4==3) { s+=7; break; }
               case 4: if (i%2==0) { s+=6; break; }
                       if (i%2==1) { s+=4; break; }
               case 5: s+=5; break;
               case 6: s+=6; break;
               case 7: if (i%4==0) { s+=1; break; }
                       if (i%4==1) { s+=7; break; }
                       if (i%4==2) { s+=9; break; }
                       if (i%4==3) { s+=3; break; }
               case 8: if (i%4==0) { s+=6; break; }
                       if (i%4==1) { s+=8; break; }
                       if (i%4==2) { s+=4; break; }
                       if (i%4==3) { s+=2; break; }
               case 9: if (i%2==0) { s+=1; break; }
                       if (i%2==1) { s+=9; break; }
               default: break;
        }
        if (s>=10) s=s%10;
    }
    return s;
}

int main ()
{
    FILE *f=fopen("cifra.in","r");
    FILE *g=fopen("cifra.out","w");
    
    int n,i,x;
    
    fscanf (f, "%d", &n);
    for (i=0;i<n;i++) {
        fscanf (f, "%d", &x);
        fprintf (g, "%d\n", cifra (x));
    }
    return 0;
}