Cod sursa(job #757045)

Utilizator vaneacsuVlad Neacsu vaneacsu Data 10 iunie 2012 22:04:03
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<fstream>
#include<string>
using namespace std;
int main()
{
    string k, p;
	int s[] = {0, 1, 5, 2, 8, 3, 9, 2, 8, 7, 7, 8, 4, 7, 3, 8, 4, 1, 5, 4};
    long long a, c;
    int t, b, d, f, n;
	char ch;
    ifstream fin("cifra.in");
    ofstream fout("cifra.out");
	//fin>>k;
    fin>>t;
	/*
	k.size() ; returneaza dimensiunea
	k = "abcd";
	p = "efgh";
	string rez = p+q ; rezulta "abcd efgh" 
	*/
    for (int i=1; i<=t; i++)
    {
		fin>>k;
		if(k.size() == 2)
			n = (k[k.size()-2] - '0')*10 + (k[k.size()-1] - '0') ;
		else 
			if(k.size() == 1)
				n = (k[k.size()-1] - '0') ;
			else
				n = (k[k.size()-3] - '0')*100 + (k[k.size()-2] - '0')*10 + (k[k.size()-1] - '0') ;		
		//fout << n << ' ';
        a = (n/20)%10;
        b = n%20;
        c = (4*a)%10;
        d = c + s[b] ;
        f = d%10;
        fout<<f<<endl;
    }
    return 0;
}