Cod sursa(job #397860)

Utilizator andrei.sfrentSfrent Andrei andrei.sfrent Data 17 februarie 2010 16:58:23
Problema Cifra Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#include <math.h>
#include <string.h>

int ultimaCifra(int x)
{
	int u = x % 10;
	int mod = x % 4;
	if(mod == 0) mod = 4;
	return ((int)(pow(u, mod))) % 10;
}

int suma(int x)
{	
	int i, s = 0;
	for(i = 1; i <= x; ++i) s += ultimaCifra(i);
	return s % 10;
}

int main()
{
	freopen("cifra.in", "r", stdin);
	freopen("cifra.out", "w", stdout);
	int t, l, x;
	char n[101];
	scanf("%d\n", &t);
	while(t--)
	{
		scanf("%s\n", n);
		l = strlen(n);
		if(l == 1) x = (n[l - 1] - '0');
		else x = (n[l - 2] - '0') * 10 + (n[l - 1] - '0');
		printf("%d\n", suma(x));
	}
	return 0;
}