Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- int x = 0, y = 0, z = 0;
- int hp(int level) {
- if (level == 99)
- return 4800;
- if (level == 100)
- return 4828;
- return x + ((y + (level - 101) * z) / 1000) + hp(level - 1);
- }
- int main() {
- int hp_table[151], i;
- for (i = 99; i <= 150; i++)
- scanf("%d", &hp_table[i]);
- for (i = 99; i <= 150; i++)
- printf("%d, ", hp_table[i]);
- printf("\n");
- //#define OFF_BY_ONE
- for (x = 60; x < 130; x++)
- for (y = 200; y < 1000; y++)
- for (z = 100; z < 5000; z++) {
- int matches = 1;
- int error = 0;
- for (i = 101; i <= 150; i++) {
- int tmp_hp = hp(i);
- #ifdef OFF_BY_ONE
- if (hp_table[i] < tmp_hp - 1 || hp_table[i] > tmp_hp + 1) {
- #else
- if (hp_table[i] != tmp_hp) {
- #endif
- matches = 0;
- break;
- }
- #ifdef OFF_BY_ONE
- if (hp_table[i] != tmp_hp)
- error++;
- #endif
- }
- if (matches == 1) {
- printf("%d %d %d (off by one %d times)\n", x, y, z, error);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement