Cod sursa(job #1112624)

Utilizator chiturobertChitu Robert Alexandru chiturobert Data 19 februarie 2014 21:41:41
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.84 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    int n,s,ok,i,r[11],t,j;
    ifstream f("cifra.in");
    ofstream g("cifra.out");
    r[1]=1;
    r[2]=4;
    r[3]=7;
    r[4]=6;
    r[5]=5;
    r[6]=6;
    r[7]=3;
    r[8]=6;
    r[9]=9;
    f>>t;
    for(j=1;j<=t;j++)
    {
        f>>n;
        ok=0;
        s=0;
    if(n<10)
    {
        ok=1;
        for(i=1;i<=n;i++)
            s=s+r[i];
        g<<s%10<<endl;
    }
    if(ok==0)
    {
        if(n%2==0)
        s=s+(7*((n/10)/2+1)+(9*((n/10)/2-1)));
        if(n%2==1)
        s=s+(7*((n/10)/2+1)+(9*((n/10)/2)));
        if((n/10)%2==0)
        {
                if(n%10==0)
                s=s+0;
                if(n%10==1)
                s=s+1;
                if(n%10==2)
                s=s+5;
                if(n%10==3)
                s=s+2;
                if(n%10==4)
                s=s+8;
                if(n%10==5)
                s=s+3;
                if(n%10==6)
                s=s+9;
                if(n%10==7)
                s=s+2;
                if(n%10==8)
                s=s+0;
                if(n%10==9)
                s=s+9;
                g<<s%10<<endl;
        }
        if((n/10)%2==1)
        {
                if(n%10==0)
                s=s+0;
                if(n%10==1)
                s=s+1;
                if(n%10==2)
                s=s+7;
                if(n%10==3)
                s=s+0;
                if(n%10==4)
                s=s+6;
                if(n%10==5)
                s=s+1;
                if(n%10==6)
                s=s+7;
                if(n%10==7)
                s=s+7;
                if(n%10==8)
                s=s+1;
                if(n%10==9)
                s=s+0;
                g<<s%10<<endl;
        }
    }
    }
return 0;
}