2013年8月17日

UVa 10916 - Factstone Benchmark

#include <cstdio>
#include <cmath>

int main() {
  int ans[217] = {};
  double limit[217] = {};
  for (int y = 196, bit = 4; y <= 216; y++, bit <<= 1) {
    ans[y] = ans[y - 1];
    limit[y] = limit[y - 1];
    while (limit[y] <= bit) {
      ans[y]++;
      limit[y] += log2(ans[y]);
    }
    limit[y] -= log2(ans[y]);
    ans[y]--;
  }
  int y;
  while (scanf("%d", &y) && y) {
    printf("%d\n", ans[y / 10]);
  }
  return 0;
}

沒有留言:

張貼留言