逆向解更快 public static boolean method1(int k, double target) { if (k > 0 && target < 0) { return false; } if (target == k) { return true; } else { double tmp = (target - 1) / 2; if (tmp % 1 != 0) { return false; } return method1(k, tmp); } }