Advertisement
gabrielsoldani

Untitled

Jul 8th, 2012
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int x = 0, y = 0, z = 0;
  5.  
  6. int hp(int level) {
  7.     if (level == 99)
  8.         return 4800;
  9.     if (level == 100)
  10.         return 4828;
  11.  
  12.     return x + ((y + (level - 101) * z) / 1000) + hp(level - 1);
  13. }
  14.  
  15. int main() {
  16.     int hp_table[151], i;
  17.     for (i = 99; i <= 150; i++)
  18.         scanf("%d", &hp_table[i]);
  19.  
  20.     for (i = 99; i <= 150; i++)
  21.         printf("%d, ", hp_table[i]);
  22.     printf("\n");
  23.  
  24. //#define OFF_BY_ONE
  25.  
  26.     for (x = 60; x < 130; x++)
  27.         for (y = 200; y < 1000; y++)
  28.             for (z = 100; z < 5000; z++) {
  29.                 int matches = 1;
  30.                 int error = 0;
  31.                 for (i = 101; i <= 150; i++) {
  32.                     int tmp_hp = hp(i);
  33. #ifdef OFF_BY_ONE
  34.                     if (hp_table[i] < tmp_hp - 1 || hp_table[i] > tmp_hp + 1) {
  35. #else
  36.                     if (hp_table[i] != tmp_hp) {
  37. #endif
  38.                         matches = 0;
  39.                         break;
  40.                     }
  41. #ifdef OFF_BY_ONE
  42.                     if (hp_table[i] != tmp_hp)
  43.                         error++;
  44. #endif
  45.                 }
  46.                 if (matches == 1) {
  47.                     printf("%d %d %d (off by one %d times)\n", x, y, z, error);
  48.                 }
  49.             }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement