Cod sursa(job #758454)

Utilizator sinio1Stirbat Luca sinio1 Data 15 iunie 2012 18:32:16
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
#include<string>
using namespace std;
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 ()
{
	ifstream f("cifra.in");
	ofstream g("cifra.out");
	int t,nr,n;
	calcul();
	/*
	for(int i=1 ; i<20 ; i++)
		g << v[i] << " ";
	g << "\n";
	*/
	f>>t;
	while (t--){
		f>>snr;
		//g << "snr = " << snr << "\n";
		nr=valoare(snr);
		//g << "nr = " << nr << "\n";
		n = nr/20*4;
		n += v[nr%20];
		g<<n%10<<"\n";
	}
	
}