Cod sursa(job #120783)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 6 ianuarie 2008 16:50:23
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <stdio.h>
int main()
{ long long n,b,s=0,i;
FILE*f=fopen("cifra.in","r");
FILE*g=fopen("cifra.out","w");
fscanf(f,"%lld",&n);
for (i=1;i<=n;i++)
	{
	b=i%10;
	switch (b)
		{
		case 1: s=(s+1)%10;break;
		case 2:
			if (i%4==0) s=(s+6)%10;
			if (i%4==1) s=(s+2)%10;
			if (i%4==2) s=(s+4)%10;
			if (i%4==3) s=(s+8)%10;break;
		case 3:
			if (i%4==0) s=(s+1)%10;
			if (i%4==1) s=(s+3)%10;
			if (i%4==2) s=(s+9)%10;
			if (i%4==3) s=(s+7)%10;break;
		case 4:
			if (i%2==0) s=(s+6)%10;
			if (i%2==1) s=(s+4)%10;break;
		case 5: s=(s+5)%10;break;
		case 6: s=(s+6)%10;break;
		case 7:
			if (i%4==0) s=(s+1)%10;
			if (i%4==1) s=(s+7)%10;
			if (i%4==2) s=(s+9)%10;
			if (i%4==3) s=(s+3)%10;break;
		case 8:
			if (i%4==0) s=(s+6)%10;
			if (i%4==1) s=(s+8)%10;
			if (i%4==2) s=(s+4)%10;
			if (i%4==3) s=(s+2)%10;break;
		case 9:
			if (i%2==0) s=(s+1)%10;
			if (i%2==1) s=(s+9)%10;break;
		}
	}
fprintf(g,"%lld",s);
return 0;
}