Cod sursa(job #28594)

Utilizator xtephanFodor Stefan xtephan Data 8 martie 2007 08:10:19
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.55 kb
#include<stdio.h>
int main()
{
int t,n, i, j, s, baza, ex;
FILE *f=fopen("cifra.in", "r");
FILE *g=fopen("cifra.out", "w");
fscanf(f, "%d", &t);
for(i=1; i<=t; i++)
	{
	fscanf(f, "%d", &n);
	s=1;
	for(j=2; j<=n; j++)
		{
		baza=j%10;
		ex=j%4;
		switch (baza)
			{
			case 0: {break;}
			case 1: {s++; break;}
			case 5: {s+=5; break;}
			case 6: {s+=6; break;}
			case 2:
				{
				switch (ex)
					{
					case 1: {s+=2; break;}
					case 2: {s+=4; break;}
					case 3: {s+=8; break;}
					case 0: {s+=6; break;}
					}
				break;
				}
			case 3:
				{
				switch (ex)
					{
					case 1: {s+=3; break;}
					case 2: {s+=9; break;}
					case 3: {s+=7; break;}
					case 0: {s+=1; break;}
					}
				break;
				}
			case 4:
				{
				switch (ex)
					{
					case 1: {s+=4; break;}
					case 2: {s+=6; break;}
					case 3: {s+=4; break;}
					case 0: {s+=6; break;}
					}
				break;
				}
			case 7:
				{
				switch (ex)
					{
					case 1: {s+=7; break;}
					case 2: {s+=9; break;}
					case 3: {s+=3; break;}
					case 0: {s+=1; break;}
					}
				break;
				}
			case 8:
				{
				switch (ex)
					{
					case 1: {s+=8; break;}
					case 2: {s+=4; break;}
					case 3: {s+=2; break;}
					case 0: {s+=6; break;}
					}
				break;
				}
			case 9:
				{
				switch (ex)
					{
					case 1: {s+=9; break;}
					case 2: {s+=1; break;}
					case 3: {s+=9; break;}
					case 0: {s+=1; break;}
					}
				break;
				}
			}
		}
	fprintf(g, "%d\n", s%10);
	}

fclose(f);
fclose(g);
return 0;
}