Cod sursa(job #382310)

Utilizator teodora_cristinavintila teodora cristina teodora_cristina Data 13 ianuarie 2010 12:43:27
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <fstream.h>
long n,s,i,ucifi,t,r,v,c;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int main()
{
    fin>>v;
	for (c=1;c<=v;c++)
	{
		fin>>n;
		s=0;
		for(i=1;i<=n;i++)
		{
			ucifi=i%10;
			switch(ucifi)
			{
			case 0:
				t=0;
				break;
			case 1:
				t=1;
				break;
			case 2:
				r=i%4;
				if(r==0)//r- multiplu de 4
					t=6;
				else
					if(r==1)// r- multiplu de 4 +1
						t=2;
					else
						if(r==2)// r- multiplu de 4 +2
							t=4;
						else	// r- multiplu de 4 +3
							t=8;
						break;
			case 3:
				r=i%4;
				if(r==0)//r- multiplu de 4
					t=1;
				else
					if(r==1)//r- multiplu de 4+1
						t=3;
					else
						if(r==2)//r- multiplu de 4+2
							t=9;
						else
							t=7;//r- multiplu de 4+3
						break;
			case 4:
				if(i%2)//i- multiplu de 2 +1
					t=4;
				else//r- multiplu de 2
					t=6;
				break;
			case 5:
				t=5;
				break;
			case 6:
				t=6;
				break;
			case 7:
				r=i%4;
				if(r==0)//r- multiplu de 4
					t=1;
				else
					if(r==1)//r- multiplu de 4+1
						t=7;
					else
						if(r==2)//r- multiplu de 4+2
							t=9;
						else
							t=3;//r- multiplu de 4+3
						break;
			case 8:
				r=i%4;
				if(r==0)//r- multiplu de 4
					t=6;
				else
					if(r==1)//r- multiplu de 4+1
						t=8;
					else
						if(r==2)//r- multiplu de 4+2
							t=4;
						else
							t=2;//r- multiplu de 4+3
						break;
			default:
				if(i%2==0)
					t=1;//r- multiplu de 2+1
				else
					t=9;//r- multiplu de 4
			}
			s=(s+t)%10;
		}
		fout<<s%10<<"\n";
	}
    return 0;
}