题目:

  定义回文数的概念如下:

  1. 如果一个非负数左右完全对应,则该数是回文数,例如:121,22等 
  2. 如果一个负数的绝对值左右完全对应,也是回文数,例如:-121,-22等

  给定一个32位整数num,判断num是否是回文数。

基本思路

  具体过程如下: 
  1、假设判断的数字为非负整数n,先生成变量help,开始时help = 1 
  2、用help不断地乘以10,直到变得与num的位数一样 
  3、那么num/help的结果就是最高位的数字,num%10就是最低位的位置,比较这两个数字,不相同则直接返回False。相同则令num = (num % help) / 10,即num变成除去最高位和最低位两个数字之后的值。令help /= 100,即让help变得继续和新的num的位数一样 
  4、如果num == 0,表示所有的数字已经对应判断完毕,返回True,否则重复步骤3

  上述方法就是让num每次剥掉最左和最右的两个数。需要注意的是,上述方法只适用于非负数,如果n为负数,先把n变成其绝对值,然后用上面的方法进行判断。特别注意,如果n是32位最小值的话,它是转不成相应的绝对值的,并且这个数很明显不是回文数,直接返回False即可

def isPalindrome(n):if n == -(1<<31):return Falsen = abs(n)help_ = 1while n // help_ >= 10:help_ *= 10while n!=0:if n//help_ != n%10:return Falsen = (n%help_)//10help_ //= 100return True

判断一个数是否是回文数相关推荐

  1. C语言判断一个数是否是回文数

    C语言判断一个数是否是回文数 #include <stdio.h> int main(){int num, s, y = 0;printf("请输入一个数字: ");s ...

  2. C++判断一个数是否为回文数palindrome的算法(附完整源码)

    C++判断一个数是否为回文数palindrome的算法 C++判断一个数是否为回文数palindrome的算法完整源码(定义,实现,main函数测试) C++判断一个数是否为回文数palindrome ...

  3. 判断一个数是否是回文数(Java)

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...

  4. python判断一个数是否为回文数

    判断一个数是否为回文数(正向读和反向读结果一样) num = raw_input('请输入要判断是否为回文数的数:') if (num[::-1] == num[:]):       print '% ...

  5. 判断一个数是否为回文数C

    判断一个数是否为回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数. #include<stdio.h> intmain() {         ...

  6. 函数习题(6):判断一个数是否是回文数

    试题详情: 编写一个带整数参数的函数,其功能是返回一个数的相反数,如整数9831,函数返回值为1389.从键盘输入一个整数,调用该函数,判断这个数是否是回文数(所谓回文数,是指从左向右读和从右向左读是 ...

  7. 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223

    编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...

  8. wpf判断一个窗体是否运行_算法8 判断一个数是否是回文数

    问题描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,正着念和反着念都一样,例如:"上海自来水来自海上". 示例 1: 输入: 123 ...

  9. java判断五位数回文数_【视频+图文】Java经典基础练习题(五):键盘输入一个五位数,判断这个数是否为回文数...

    能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能解决题目的代码! 通过学习,练习[Java基础经典练习题],让我们一起来培 ...

最新文章

  1. 聊聊storm的stream的分流与合并
  2. 一些可以让心灵安静的动图
  3. 机试记不住头文件_计算机考研机试攻略
  4. 使用变量_在 Linux 中使用变量 | Linux 中国
  5. mac 电脑连接不上github_Mac电脑使用终端连接服务器及传输文件
  6. Javascript堆排序
  7. Vue.js 第二天: 事件处理
  8. 【资源挖掘】免费DEM数据下载
  9. centos7显示时间的时区修改
  10. Java集合框架最全详解(看这篇就够了)
  11. Mac用bootcamp安装Windows 11双系统
  12. 计算机管理员英语怎么说,电脑管理员英文administrator写法
  13. 2023南京工业大学计算机考研信息汇总
  14. Mermaid制作甘特图
  15. 深度解析C/C++中的宏是什么?有什么作用呢?
  16. 微信公众帐号开发教程第8篇-QQ表情的发送与接收
  17. PHP开发h5棋牌源码curl用法
  18. 集成灶怎么选品牌(拒绝陷阱避坑指南)
  19. ad17如何生成坐标文件_pcb如何导出坐标文件
  20. 什么是FEC/NACK/RTX

热门文章

  1. glob及IO重定向
  2. java中c/s模式传送数据
  3. Oracle cursor_sharing 参数 详解
  4. 批量修改多目录下相同文件名的文件内容
  5. no python interpreter configured
  6. c语言#include后的尖括号和双引号有什么区别?
  7. 剑指offer:合并两个有序的链表
  8. Leetcode剑指 Offer II 024. 反转链表
  9. M元上升子序列【树状数组+dp】
  10. n个数进栈后输出的可能序列数