我有n个类型为unsigned long long
和 c/c++ 中的循环
while( n < ULLONG_MAX ){
...
n += revert( n );
}
我需要在它变大之前输出最后一个n,有没有办法可以验证并打破循环?因为我一直输出相同的大数字,但小于 ULLONG_MAX
最佳答案
如果n
是 unsigned long long
然后n <= ULLONG_MAX
永远正确。
如果你知道revert
总是返回一个正数,您可以检查是否 n + revert( n )
是 < n
(即,检查环绕)。或者还检查 revert(n) < ULLONG_MAX - n
.
关于c++ - 在大于 unsigned long long 的数字上中断循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12988216/