zoukankan      html  css  js  c++  java
  • 回文数

    回文数: 将一串数字反转以后得到的数字和正序是一样的 (正序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
  • 相关阅读:
    新项目反思
    nei网访问
    react
    css沉默
    沉默
    node准备
    C++学习(八):删除文件
    利用工具格式化日期文本
    PageHelper 记录总条数不正确问题处理
    tk.mybatis 多个or条件拼接
  • 原文地址:https://www.cnblogs.com/jasonyou/p/13606060.html
Copyright © 2011-2022 走看看