Cod sursa(job #1072330)

Utilizator pinkahdPinca Alexandru Laurentiu pinkahd Data 4 ianuarie 2014 12:49:41
Problema Cifra Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.68 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    FILE *f;
    static int v[100], fx[100],i,j,n,g,nr;
    char c[100], p[100];

    for (i = 1; i <= 100; i++)
    {
        if (i < 10)
        {
            switch (i % 10)
            {
                case 1:
                    nr += 1;
                break;

                case 2:
                    nr += 4;
                break;

                case 3:
                    nr += 7;
                break;

                case 4:
                    nr += 6;
                break;

                case 5:
                    nr += 5;
                break;

                case 6:
                    nr += 6;
                break;

                case 7:
                    nr += 3;
                break;

                case 8:
                    nr += 6;
                break;

                case 9:
                    nr += 9;
                break;

            }

        }

        if (i > 10)
        {
            n = i%10;
            for(j = 2; j <= i; j++)
                n = (n * i) % 10;
            nr += n;
        }

        if (nr >= 10)
            nr = nr % 10;

        fx[i] = nr;

    }

    f = fopen("cifra.in","rt");
    fscanf(f, "%d" ,&n);

    for (i = 0; i < n; i++)
    {
        fscanf(f,"%s",&c);

        if (strlen(c) > 2)
            strcpy(p, c + (strlen(c) - 2));
        else
            strcpy(p, c);

        nr = atoi(p);
        v[i] = fx[nr];

    }

    fclose(f);


    f = fopen("cifra.out","wt");
    for (i=0; i < n; i++)
        fprintf(f,"%d\n", v[i]);

    return 0;
}