Cod sursa(job #373299)

Utilizator otilia_sOtilia Stretcu otilia_s Data 13 decembrie 2009 14:23:51
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
int T,uc,u1;
char s[127];

int main()
{
	ifstream fin("cifra.in");
	ofstream fout("cifra.out");
	fin>>T; 
	while (T--)
	{   long U; int nc;
		fin>>s;  int l=strlen(s);
		uc=s[l-1]-'0';
		
		if (l>1) 
			{u1=s[l-2]-'0';}
			else {u1=0;}
		
		U=(u1+(uc>0?1:0))%10; //1
		//5
		nc=u1+(uc>4?1:0);
		if (nc%10==1)U=(U+5)%10; 
		//6
		nc=u1+(uc>5?1:0);
		U=(U+(nc*6))%10; 
		//4
		nc=u1+(uc>3?1:0);				
		U=(U+(nc*6))%10;		
		//8
		nc=u1+(uc>7?1:0);
		if (nc%2==1) U=(U+6)%10;			
		//9
		nc=u1+(uc>8?1:0);
		U=(U+(nc*9))%10;
		//2
		nc=u1+(uc>1?1:0);		
		if (nc%2==1) U=(U+4)%10; //altfel U+=0;
		//3
		nc=u1+(uc>2?1:0);
		if (nc%2==1) U=(U+7)%10; //alfel U+=0
		//7
		nc=u1+(uc>6?1:0);
		if (nc%2==1) U=(U+3)%10; //alfel U+=0	
		fout<<U%10<<"\n";
	}
	fin.close(); fout.close();
	return 0;
}