Java以递归方式查找日志

时间:2018-03-09 05:18:07

标签: java

我正在为我的类编写代码,以递归方式找到b的基数为n的日志。我还被告知假设n正好是某个整数幂的b。到目前为止,我有以下代码:

public int log(int b, int n ) {
  if (n / b == 1) {
    return 1;
  } else {
    return log(b, n / b) + 1;
  }
}

当我提交它时,它表示我通过了所有测试用例,除了一个隐藏测试。我正在努力找到我的代码到底出了什么问题,因为它没有告诉我如果失败了什么测试。我之前看过一个类似的问题,但是给定的解决方案仍然告诉我它没有通过隐藏测试。

编辑:这就是我的结果。测试用例是预定义的,代码全部在线。 link

2 个答案:

答案 0 :(得分:2)

如果n < b,则您的代码会生成StackOverflowError。 这可能是您的代码中缺少的内容。

答案 1 :(得分:0)

如果b == 0会怎样?他们可能正在投掷一个平均情况呃