Cod sursa(job #1211966)

Utilizator alxmtcVasile alxmtc Data 23 iulie 2014 16:32:22
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.72 kb

#include <fstream>
#include <math.h>
using namespace std;

int fo (int base,int pow)
{
	int result=-1;

switch (base%10)
		{	case 0:
				result=0;
				break;
		case 1:
			result=1;
				break;

		case 2:
			switch(pow%4)
			{
				case 1:
					result=2;
					break;
				case 2:
					result=4;
					break;
				case 3:
					result=8;
					break;
				case 0:
					result=6;
					break;
			}
		 break;
		case 3:
			switch(pow%4)
			{
			case 1:
				result=3;
				break;
			case 2:
				result=9;
				break;
			case 3:
				result=7;
				break;
			case 0:
				result=1;
				break;
			}
			break;
		case 4:
			switch(pow%2)
			{
			case 1:
				result=4;
				break;
			case 0:
				result=6;
				break;
			}
			break;
		case 5:
			result=5;
			break;
		case 6:
			result=6;
			break;
		case 7:
			switch(pow%4)
			{case 1:
			   result=7;
			   break;
			case 2:
				result=9;
				break;
			case 3:
				result=3;
				break;
			case 0:
				result=1;
				break;}
			break;
		case 8:
			switch(pow%4)
			{case 1:
			    result=8;
				break;
			case 2:
				result=4;
				break;
			case 3:
				result=2;
				break;
			case 0:
				result=6;
				break;}
			break;

		case 9:
			switch (pow%2)
			{
			case 1: 
				result=9;
				break;
			case 0:
				result=1;
				break;
			
			}
			break;
	}
return result;
}



int main()
{
	ifstream infile;
	infile.open("cifra.in");
    ofstream outfile;
	outfile.open("cifra.out");
	int t,result,s=0,i,nr,j;
	infile>>t;
	for(i=1;i<=t;i++)
	{
		infile>>nr;
		result=fo(nr,nr);
		


		for(j=1;j<=nr;j++)
		{
			s=s+fo(j,j);
		
		}
		result=s%10;
		s=0;
		outfile<<result<<endl;
		

	}
	
	return 0;
}