判断一个数是否是回文数
题目:
定义回文数的概念如下:
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
判断一个数是否是回文数相关推荐
- C语言判断一个数是否是回文数
C语言判断一个数是否是回文数 #include <stdio.h> int main(){int num, s, y = 0;printf("请输入一个数字: ");s ...
- C++判断一个数是否为回文数palindrome的算法(附完整源码)
C++判断一个数是否为回文数palindrome的算法 C++判断一个数是否为回文数palindrome的算法完整源码(定义,实现,main函数测试) C++判断一个数是否为回文数palindrome ...
- 判断一个数是否是回文数(Java)
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...
- python判断一个数是否为回文数
判断一个数是否为回文数(正向读和反向读结果一样) num = raw_input('请输入要判断是否为回文数的数:') if (num[::-1] == num[:]): print '% ...
- 判断一个数是否为回文数C
判断一个数是否为回文数. 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数. #include<stdio.h> intmain() { ...
- 函数习题(6):判断一个数是否是回文数
试题详情: 编写一个带整数参数的函数,其功能是返回一个数的相反数,如整数9831,函数返回值为1389.从键盘输入一个整数,调用该函数,判断这个数是否是回文数(所谓回文数,是指从左向右读和从右向左读是 ...
- 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223
编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...
- wpf判断一个窗体是否运行_算法8 判断一个数是否是回文数
问题描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数,正着念和反着念都一样,例如:"上海自来水来自海上". 示例 1: 输入: 123 ...
- java判断五位数回文数_【视频+图文】Java经典基础练习题(五):键盘输入一个五位数,判断这个数是否为回文数...
能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能解决题目的代码! 通过学习,练习[Java基础经典练习题],让我们一起来培 ...
最新文章
- 聊聊storm的stream的分流与合并
- 一些可以让心灵安静的动图
- 机试记不住头文件_计算机考研机试攻略
- 使用变量_在 Linux 中使用变量 | Linux 中国
- mac 电脑连接不上github_Mac电脑使用终端连接服务器及传输文件
- Javascript堆排序
- Vue.js 第二天: 事件处理
- 【资源挖掘】免费DEM数据下载
- centos7显示时间的时区修改
- Java集合框架最全详解(看这篇就够了)
- Mac用bootcamp安装Windows 11双系统
- 计算机管理员英语怎么说,电脑管理员英文administrator写法
- 2023南京工业大学计算机考研信息汇总
- Mermaid制作甘特图
- 深度解析C/C++中的宏是什么?有什么作用呢?
- 微信公众帐号开发教程第8篇-QQ表情的发送与接收
- PHP开发h5棋牌源码curl用法
- 集成灶怎么选品牌(拒绝陷阱避坑指南)
- ad17如何生成坐标文件_pcb如何导出坐标文件
- 什么是FEC/NACK/RTX