C++ 中的第 K 个繁荣数
在本教程中,我们将编写一个程序来查找第k个繁荣数。
仅包含2和3的数字称为繁荣数。
让我们看看解决上述问题的步骤。
初始化k的值。
初始化一个字符串队列。
将空字符串推入队列。
将计数器变量初始化为0。
编写一个循环,迭代直到计数器小于或等于给定的k。
获得队列的前面。
从队列中弹出元素。
将队列的前端存储在一个变量中。
在前面追加2后按数字。
递增计数器并检查k是否等于计数器。
如果计数器等于k,则打印该值并中断。
在前面追加3后按数字。
递增计数器并检查k是否等于计数器。
递增计数器并检查k是否等于计数器。
示例
让我们看看代码。
#include输出结果using namespace std; void findKthBoomNumber(long long k) { queue queue; queue.push(""); long long count = 0; while (count <= k) { string numberOne = queue.front(); queue.pop(); string numberTwo = numberOne; queue.push(numberOne.append("2")); count++; if (count == k) { cout << numberOne << endl; break; } queue.push(numberTwo.append("3")); count++; if (count == k) { cout << numberTwo << endl; break; } } } int main() { long long k = 45; findKthBoomNumber(k); return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
23332
结论
如果您对本教程有任何疑问,请在评论部分提及。