Cod sursa(job #1903937)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 5 martie 2017 13:15:10
Problema Cifra Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <cstdio>

using namespace std;
char n[110];
int nr[110];
int a[10][2]={{0,0},{1,1},{4,6},{3,7},{6,6},{5,5},{6,6},{7,3},{4,6},{1,9}};

int main()
{
    FILE *fin=fopen ("cifra.in","r");
    FILE *fout=fopen ("cifra.out","w");
    int t,i,num,sum;
    fscanf (fin,"%d\n",&t);
    for (;t>0;t--){
        //if (t==1)
          //  printf ("a");
        fgets (n,101,fin);
        nr[0]=0;
        for (i=0;n[i]>='0' && n[i]<='9';i++)
            nr[++nr[0]]=n[i]-'0';
        if (nr[0]>=2)
            num=nr[nr[0]-1]*10+nr[nr[0]];
        else num=nr[nr[0]];
        sum=0;
        for (i=1;i<=num;i++){
            if (i%10!=2 && i%10!=3 && i%10!=7 && i%10!=8 && i%10!=9)
                sum=sum+a[i%10][1];
            else if (i%10==2 || i%10==8){
                if (i%4==2)
                    sum+=a[i%10][0];
                else sum+=a[i%10][1];
            }
            else if (i%10==3 || i%10==7){
                if (i%4==1)
                    sum+=a[i%10][0];
                else sum+=a[i%10][1];
            }
            else if (i%10==9){
                if (i%2==1)
                    sum+=a[i%10][1];
                else sum+=a[i%10][0];
            }
            sum%=10;
        }
        fprintf (fout,"%d\n",sum);
    }
    return 0;
}