1

可能重复:
如何检查一个数字是否是回文?

如果不允许将整数视为字符串并且不允许进行类型转换,我们如何确定该数字是否为回文(在 PHP 中)?

我想出的程序是:

function checkPalindrome($number){
    $reverse_number = 0;
    $number_backup  = $number;
    while($number > 0){
      $reverse_number = $reverse_number * 10 + $number % 10;
      $number /= 10;
    }
    return $reverse_number == $number_backup;
}

在步骤“$number/=10”处,生成的结果将不是造成问题的整数。

4

1 回答 1

6

如果不允许类型转换并且禁止字符串处理,则需要进行一些额外的计算:

while($number > 0){
  $lsd = $number % 10;
  $reverse_number = $reverse_number * 10 + $lsd;
  $number = ($number - $lsd) / 10;
}
于 2012-05-21T16:46:47.490 回答