gpt4 book ai didi

javascript - 为什么使用减少计数算法返回计数值不正确?

转载 作者:行者123 更新时间:2023-11-28 05:05:40 25 4
gpt4 key购买 nike

我正在使用最小步数减少到一个算法。我尝试实现,但我在 javascript 中发现了一个问题。当我取 10 数字时,它失败了

我的函数给出输出4..但预期是3

为什么是3?

  • 10-1 =9
  • 9/3 =3
  • 3/3 =1

所以计数是 3 但我的函数给出 4引用文献

Given an integer N and a set of operations, reduce N to 1 in the least amount of steps

Minimum Steps to One

function abc(n) {
var count = 0;

while (true) {
if (n === 1) {
break;
}else if (n % 3 == 0) {
count++;
n = n / 3;

} else if (n % 2 == 0) {
count++
n = n / 2

} else {
count++
n = n - 1;
}
}
return count;
}

最佳答案

算法是:

  1. 如果 N 可以除以 3:除以 3。
  2. 如果 N 可以除以 2:除以 2。
  3. 减去 1。

对于 N = 10 运行的步骤是:

  1. 10 可以除以 2。除以 2 => 5
  2. 5 不能除以 3 或 2。减去 1 => 4
  3. 4 可以除以 2。除以 2 => 2
  4. 2 可以除以 2。除以 2 => 2

需要 4 个步骤。

如果您有兴趣获得将 N 减少到 1 的最快方法,而不仅仅是任何方法,您可能会对 Breadth-first search 感兴趣。算法。

关于javascript - 为什么使用减少计数算法返回计数值不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41774647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com