Cod sursa(job #1230715)

Utilizator Luncasu_VictorVictor Luncasu Luncasu_Victor Data 19 septembrie 2014 00:59:18
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <algorithm>
#include <sstream>
#include <fstream>
using namespace std;

int P[][4] = {
				{0,0,0,0}, 
				{1,1,1,1}, 
				{2,4,8,6}, 
				{3,9,7,1}, 
				{4,6,4,6}, 
				{5,5,5,5}, 
				{6,6,6,6}, 
				{7,9,3,1}, 
				{8,4,2,6}, 
				{9,1,9,1}
			 };

int Modulo(char * S, int len) {
	int X = 0;
	for (int i = 0; i < len; i++) {
		X = (X * 10 + S[i] - '0') % 100;
	}
	return X;
}

int Solution(int X) {
	int S = 0;
	for (int i = 1; i <= X; i++) {
		S = (S + P[i % 10][(i-1) % 4]) % 10;
	}
	return S;
}

int T, N, Ans[101];
char S[200];

int main(){
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	
	for (int i = 1; i <= 100; i++) {
		Ans[i] = Solution(i);
	}
	
	scanf("%d ", &T);
 	
 	while (T--) {
 		scanf("%s ", S);
 		printf("%d\n", Ans[Modulo(S, strlen(S))]);
 	}
  		
	return 0;
}