Cod sursa(job #1312116)

Utilizator savigunFeleaga Dragos-George savigun Data 8 ianuarie 2015 22:04:47
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

long int v[100];

int res(int n)
{
    int rez, m, k;
    m=n%10;
    if(m==1) rez=1;
    else
    if(m==0) rez=0;
    else
    if(m==2)
    {
    k=n%4;
    if(k==1) rez=2; else
    if(k==2) rez=4; else
    if(k==3) rez=8; else
    if(k==0) rez=6;
    }
    else
    if(m==3)
    {
    k=n%4;
    if(k==1) rez=3; else
    if(k==2) rez=9; else
    if(k==3) rez=7; else
    if(k==0) rez=1;
    }
    else
    if(m==4)
    {
    k=n%2;
    if(k==1) rez=4; else
    if(k==0) rez=6;
    }
    else
    if(m==5) rez=5;
    else
    if(m==6) rez=6;
    else
    if(m==7)
    {
    k=n%4;
    if(k==1) rez=7; else
    if(k==2) rez=9; else
    if(k==3) rez=3; else
    if(k==0) rez=1;
    }
    else
    if(m==8)
    {
    k=n%4;
    if(k==1) rez=8; else
    if(k==2) rez=4; else
    if(k==3) rez=2; else
    if(k==0) rez=6;
    }
    else
    if(m==9)
    {
    k=n%2;
    if(k==1) rez=9; else
    if(k==0) rez=1;
    }
return rez;
}


int main()
{

ifstream in("cifra.in");
ofstream out("cifra.out");

long int n, t, i, j, s;
char c[10];

in>>t;

for(i=1;i<=99;i++)
{
    v[i]=res(i);
}

for(i=1;i<=t;i++)
{
    in>>n;
    s=0;
    for(j=1;j<=n%10;j++)
    {
        s=s+v[j];
    }
    itoa(s%10, c, 10);
    out<<c<<"\n";
}

in.close();
out.close();
    return 0;
}