Cod sursa(job #625805)

Utilizator NitaMihaitavoidcube NitaMihaita Data 25 octombrie 2011 17:19:15
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<fstream>
#include<string.h>
using namespace std;
short cifra( short x )
{
short s=0;
if(9<=x)
	if(9<=x%10)s+=((x/10+1)*9)%10;
	else s+=((x/10)*9)%10;
	
if(8<=x)
	if((x%10)>=8){if((x/10)%2==0)s+=6;}
	else if((x/10)%2==1)s+=6;
	
if(7<=x)
	if((x%10)>=7){if((x/10)%2==0)s+=3;}
	else if((x/10)%2==1)s+=3;
	
if(6<=x)
	if(6<=x%10)s+=((x/10+1)*6)%10;
	else s+=((x/10)*6)%10;
	
if(5<=x)
	if(5<=x%10)s+=((x/10+1)*5)%10;
	else s+=((x/10)*5)%10;
	
if(4<=x)
	if(4<=x%10)s+=((x/10+1)*6)%10;
	else s+=((x/10)*6)%10;
	
if(3<=x)
	if((x%10)>=3){if((x/10)%2==0)s+=7;}
	else if((x/10)%2==1)s+=7;
	
if(2<=x)
	if((x%10)>=2){if((x/10)%2==0)s+=4;}
	else if((x/10)%2==1)s+=4;
	
if(1<=x)
	if(1<=x%10)s+=((x/10+1)%10);
	else s+=(x/10)%10;
	
return s%10;
}
int main ()
{
ifstream fcin("cifra.in");
ofstream gcout("cifra.out");
short t,x;
char s[102];
fcin>>t;
while(t--)
	{
	fcin>>s;
	if(strlen(s)==1)x=s[0]-'0';
		else
	x=(s[strlen(s)-2]-'0')*10+(s[strlen(s)-1]-'0');
		
	gcout<<cifra(x)<<"\n";
	
	}
return 0;
}