我正在寻找一种有效的算法来反转数字,例如
输入:3456789
输出: 9876543
在 C++ 中,有很多带有移位和位掩码的选项,但最有效的方法是什么?
我的平台:x86_64
数字范围:XXX - XXXXXXXXXX(3 - 9 位数字)
编辑 我输入的最后一位永远不会是零,因此不存在前导零问题。
最佳答案
像这样的东西会起作用:
#include <iostream>
int main()
{
long in = 3456789;
long out = 0;
while(in)
{
out *= 10;
out += in % 10;
in /= 10;
}
std::cout << out << std::endl;
return 0;
}
关于c++ - 反转数字的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355080/