Cod sursa(job #758448)

Utilizator FeriCsiki Francisc Alexandru Feri Data 15 iunie 2012 18:09:36
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<iostream>
#include<fstream>
#include<string>

using namespace std;

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

string snr;
int nr,v[20];

int valoare(string s){
	if(s.length()==1)
		return s[s.length()-1]-'0';
	return(s[s.length()-2]-'0')*10+s[s.length()-1]-'0';
}

int putere(int n)
{
	int a=1;
	for(int i=1;i<=n;i++)
	{
		a = (a*n)%10;
	}
	return a;
}

void calcul()
{
	for(int i=1;i<=20;i++)
		v[i]=putere(i);
	for(int i=1;i<=20;i++)
		v[i]=(v[i-1]+v[i])%10;
}

int main (){
	int t,r;
	calcul();
	in>>t;
	while(t--){
		in>>snr;
		nr = valoare(snr);
		r = nr/20*4;
		r += v[nr%20];
		out<<r%10<<'\n';
	}
	return 0;
}