【发布时间】:2009-10-04 09:43:34
【问题描述】:
在 C++ 中,找到给定 15 位数字的下一个回文的最快逻辑是什么?例如:134567329807541 的下一个回文是什么?
【问题讨论】:
-
+1 个非常有趣的问题,IMO
-
“x 的下一个回文”是什么意思?
-
回文是前后读相同的东西(正如你希望从 Monty Python 的鹦鹉草图中知道的那样!),所以我猜“x 的下一个回文”是第一个数字 >= x 以 10 为底,前后读取相同。
-
你已经得到了很多答案。我只想指出,因为它有一个
C++标签,std::string(你应该使用它)有很多成员函数来操作它的内容。不幸的是,由于历史原因,它们中的一些使用索引,一些使用迭代器,许多(但不是全部)都有两者的版本,许多(但不是全部)在<algorithm>标头中有替代算法。就地反转提供随机访问迭代器的序列的好方法是使用std::reverse(),比较两个任意序列的好方法是std::equal()。 -
我想知道:'next' 是否意味着如果你已经有回文,你应该得到下面的回文,或者你对它满意吗?
标签: c++ algorithm palindrome