Cod sursa(job #643728)

Utilizator informatician28Andrei Dinu informatician28 Data 4 decembrie 2011 12:35:33
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream> 
using namespace std; 
ifstream in("cifra.in"); 
ofstream out("cifra.out");
int main() 
{
	int a[10][5],v[101],t,nr,m; 
	long long S; 
	string s; 
	
	long long i;
	
	a[0][0]=1; a[0][1]=1; a[0][2]=1; a[0][3]=1; 
	a[1][0]=6; a[1][1]=2; a[1][2]=4; a[1][3]=8; 
	a[2][0]=1; a[2][1]=3; a[2][2]=9; a[2][3]=7; 
	a[3][0]=6; a[3][1]=4; a[3][2]=6; a[3][3]=4; 
	a[4][0]=5; a[4][1]=5; a[4][2]=5; a[4][3]=5; 
	a[5][0]=6; a[5][1]=6; a[5][2]=6; a[5][3]=6; 
	a[6][0]=1; a[6][1]=7; a[6][2]=9; a[6][3]=3; 
	a[7][0]=6; a[7][1]=8; a[7][2]=4; a[7][3]=2; 
	a[8][0]=1; a[8][1]=9; a[8][2]=1; a[8][3]=9; 
	
	for(int i=1;i<=100;i++) 
	{
		S=0; 
		for(int j=1;j<=i;j++) 
			if(j%10==0) 
				S=v[j-1]; 
			else 
			S+=a[(j%10)-1][j%4]; 
			
	    v[i]=S%10; 
	}
	
	in>>t; 
	
	for(i=1;i<=t;i++) 
	{
		in>>s; 
		m=s.length(); 
		if(m>1) 
			nr=(s[m-2]-'0')*10+s[m-1]-'0'; 
		else nr=s[m-1]-'0'; 
		
		out<<v[nr]<<'\n';
}

}