Cod sursa(job #784502)

Utilizator drobertDumitru Robert drobert Data 6 septembrie 2012 10:07:42
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <string.h>
int mat[11][11]={{},{0,1,1,1,1},{0,2,4,8,6},{0,3,9,7,1},{0,4,6,4,6},{0,5,5,5,5},{0,6,6,6,6},{0,7,9,3,1},{0,8,4,2,6},{0,9,1,9,1}},i,j,u;
char s[103];
int t,x,sum;
int main ()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	scanf("%d",&t);
	for (i=1;i<=t-1;i++)
	{
		scanf("%s",s);
		x=strlen(s);
		if (x>1)
			sum+=mat[s[x-1]-'0'][((s[x-2]-'0')*10+s[x-1]-'0')%4==0?4:((s[x-2]-'0')*10+s[x-1]-'0')%4];
		else
			sum+=mat[s[x-1]-'0'][(s[x-1]-'0')%4==0?4:(s[x-1]-'0')%4];
		printf("%d\n",sum%10);
	}	
	scanf("%s",s);
	x=strlen(s);
	if (x>1)
		sum+=mat[s[x-1]-'0'][((s[x-2]-'0')*10+s[x-1]-'0')%4==0?4:((s[x-2]-'0')*10+s[x-1]-'0')%4];
	else
		sum+=mat[s[x-1]-'0'][(s[x-1]-'0')%4==0?4:(s[x-1]-'0')%4];
	printf("%d",sum%10);
	return 0;
}