Cod sursa(job #1113924)

Utilizator danny794Dan Danaila danny794 Data 21 februarie 2014 01:44:05
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>

int compute(int x) {
  int s = 0, p;
  for(int i = 1; i <= x; i++) {
    p = 1;
    for(int j = 1; j <= i; j++)
      p = (p * i) % 10;
    s += p;
  }
  return s;
}

int main() {
  freopen("cifra.in", "r", stdin);
  freopen("cifra.out", "w", stdout);
  char *number = new char[105];
  number[0] = 0;
  int T;
  scanf("%d", &T);
  while(T) {
    scanf("%s", number);
    if(number[1] == '\0') {
      int x = number[0] - '0';
      printf("%d\n", compute(x) % 10);
    } else {
      int x = 0;
      while(number[x + 2] != '\0')
        x++;
      int p = (number[x] - '0') * 10 + (number[x+1] - '0');
      printf("%d\n", ((p / 20 * 4) + compute(p % 20)) % 10);
    }
    T--;
  }
  return 0;
}