2012年9月6日

UVa 12397 - Roman Numerals


#include <stdio.h>
 
int main() {
  int i, n, num[4000];
  for (i = 0; i < 4000; i++) {
    num[i] = 0;
    n = i;
    if ((n % 1000) >= 900) n += 200;
    if ((n % 1000) <= 499 && (n % 1000) >= 400) n += 200;
    if ((n % 100) <= 49 && (n % 100) >= 40) n += 20;
    if ((n % 100) >= 90) n += 20;
    if (n % 10 == 4 || n % 10 == 9) n += 2;
    num[i] += (n / 1000) * 4;
    n %= 1000;
    num[i] += (n / 500) * 3;
    n %= 500;
    num[i] += (n / 100) * 2;
    n %= 100;
    num[i] += (n / 50) * 2;
    n %= 50;
    num[i] += (n / 10) * 2;
    n %= 10;
    num[i] += (n / 5) * 2;
    n %= 5;
    num[i] += n;
  }
  while (scanf("%d", &n) == 1)
    printf("%d\n", num[n]);
  return 0;
}

沒有留言:

張貼留言