2012年12月26日

UVa 10162 - Last Digit


#include <stdio.h>
#include <string.h>

int main() {
  char s[200];
  int num[4][10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                    0, 1, 4, 9, 6, 5, 6, 9, 4, 1,
                    0, 1, 8, 7, 4, 5, 6, 3, 2, 9,
                    0, 1, 6, 1, 6, 5, 6, 1, 6, 1};
  while (gets(s) && s[0] != '0') {
    int i, len = strlen(s), sum = 0, last = 0;
    if (len > 1) sum = (s[len - 2] - '0') * 47, last = (s[len - 2] - '0') * 10;
    for (i = 1; i <= s[len - 1] - '0'; i++)
      sum += num[(last + i + 3) % 4][i];
    printf("%d\n", sum % 10);
  }
  return 0;
}

沒有留言:

張貼留言