l*******o 发帖数: 791 | 1 看到过一个题目,给一个integer,要求把它reverse过来,有可能这个integer反过来
时会over flow。
如果检测是否会over flow呢? |
l*********r 发帖数: 674 | 2 什么叫reverse? 25变成52?如果输入20呢? |
l*******o 发帖数: 791 | 3 对,如果给52那么就输出25 ,如果给20就输出2 |
g*********s 发帖数: 1782 | 4 reverse the string, then compare with the string of INT_MAX lexically?
need both itoa() and atoi().
【在 l*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看到过一个题目,给一个integer,要求把它reverse过来,有可能这个integer反过来 : 时会over flow。 : 如果检测是否会over flow呢?
|
J********a 发帖数: 5208 | 5 input : a
output : b
int b = 0;
int max = INT_MAX / 10;
while (a > 0){
int a1 = a % 10;
if (b > (INT_MAX-a1) / 10) error overflow;
b = b * 10 + a1;
a = a / 10;
}
【在 g*********s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : reverse the string, then compare with the string of INT_MAX lexically? : need both itoa() and atoi().
|
J********a 发帖数: 5208 | 6 另外这个solution显然不好,如果题目变成把两个6进制整数倒过来怎么办?
【在 g*********s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : reverse the string, then compare with the string of INT_MAX lexically? : need both itoa() and atoi().
|
g*********s 发帖数: 1782 | 7 i didn't check the details but this one looks better.
【在 J********a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : input : a : output : b : int b = 0; : int max = INT_MAX / 10; : while (a > 0){ : int a1 = a % 10; : if (b > (INT_MAX-a1) / 10) error overflow; : b = b * 10 + a1; : a = a / 10; : }
|
l*******o 发帖数: 791 | 8
别以为我看不懂你得签名,哈哈哈
【在 J********a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 另外这个solution显然不好,如果题目变成把两个6进制整数倒过来怎么办?
|
J********a 发帖数: 5208 | 9 ...
【在 l*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 别以为我看不懂你得签名,哈哈哈
|
h***n 发帖数: 276 | 10 to detect the overflow, you can take the last digit off the orginal number b
efore reverse, with one less digit, the modified number should not be overfl
ow
then after reversing, you patch the last digit to the reversed number given
you know the number of digits already, from now on, you have several ways to
detect overflow, depending on whether the number is signed or unsigned
【在 l*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看到过一个题目,给一个integer,要求把它reverse过来,有可能这个integer反过来 : 时会over flow。 : 如果检测是否会over flow呢?
|