【发布时间】:2022-06-16 23:26:36
【问题描述】:
给您一个数字 N。您需要在最少的操作次数内将其转换为 1。允许的操作如下:
If N is even then divide the number by 2.
If N is odd then you can either add 1 to it or subtract 1 from it.
使用上述操作,找出将 N 转换为 1 所需的最小操作数。输入: 输入的第一行包含 T 表示测试用例的数量。 T 测试用例如下。每个测试用例包含 1 行包含 N 的输入。输出: 对于每个测试用例,在新行中打印所需的最小步骤数。约束: 1
【问题讨论】:
-
欢迎来到 Stack Overflow!大多数问题给人的印象是盲目的作业转储,因此缺乏对您在尝试自己时遇到的特定编程问题的关注。要改进,请查看此处描述的折衷方案:meta.stackoverflow.com/questions/334822/… 和How to Ask。
-
不要标记随机语言。这是 C++ 还是 Java?我非常怀疑两者兼而有之。
-
我可以在C++中进行除操作,在Java中进行add/sub操作吗?