首页 > 其他 > 详细

回文数

时间:2020-09-03 11:12:27      阅读:45      评论:0      收藏:0      [点我收藏+]

回文数: 将一串数字反转以后得到的数字和正序是一样的 (正序12321 = 反转 12321) 称之为回文数

php实现:

/**
 * @param Integer $x
 * @return Boolean
 */
function isPalindrome($x){
    //特殊情况
    //1、小于0的负数肯定不是回文数
    //2、最后一位是0,且第一位也不是0,肯定不是回文数
    if($x < 0 || ($x%10 == 0 && $x != 0)){
        return false;
    }
    $res = 0;//反转后的数
    while($x > $res){//当x小于等于res时,即已经反转一半了
        $res = $res*10 + $x%10;
        $x = intval($x/10);//需要使用intval强制把浮点转整型
        echo $x.PHP_EOL;
        echo $res.PHP_EOL;
        echo ‘---------------‘.PHP_EOL;
    }
    //当x的位数为偶数时,比如1221,循环的最后,x=12,res=12
    //当x的位数为奇数时,比如12321,循环的最后,x=12,res=123,但中间的位数对于回文数没有影响,所以res除以10可以剔除掉
    return $x == $res || $x == intval($res/10);
}
isPalindrome(123456789);
原文作者:zhangdeTalk
转自链接:https://learnku.com/articles/40186

回文数

原文:https://www.cnblogs.com/jasonyou/p/13606060.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!