判断一个数是否回文数的巧妙解法
2015-11-25 00:01
232 查看
·回文数的定义:
对于非负数 其左右两边完全相同 则是回文。 e.g: 121 11 等
对于负数 其绝对值左右两边完全相同 则是回文。 e.g: -121 -11 等
设计一个算法判断给定的数是否为回文数,如果是,输出true 反之 输出false;
贴代码:
对于非负数 其左右两边完全相同 则是回文。 e.g: 121 11 等
对于负数 其绝对值左右两边完全相同 则是回文。 e.g: -121 -11 等
设计一个算法判断给定的数是否为回文数,如果是,输出true 反之 输出false;
贴代码:
#include <iostream> #include <math.h> using namespace std; bool isPadlindrome(int n) { // 如果是int类型的最小值 显然不是回文数 if (n == INT_MIN) { return false; } // 绝对值 n = abs(n); int tmp = 1; // 将tmp位数变为与n一致 while(n / tmp >= 10) // 防止tmp溢出 { tmp *= 10; } // n = 0 表示所有位比较完 while(n != 0) { // 最高位 != 最低位 if (n / tmp != n % 10) { return false; } // 最高位 = 最低位 去掉最高位 去掉最低位 // 继续比较 n = (n % tmp) / 10; tmp /= 100; } return true; } int main(void) { int n; cin>>n; if (isPadlindrome(n)) { cout<<"true"<<endl; } else { cout<<"false"<<endl; } return 0; }
相关文章推荐
- 浅析Java中的final关键字
- Spring MVC @ModelAttribute 详解
- Java:注解(Annotation)自定义注解
- 免费的android室内地图接口分享
- 外汇报价接口支持常用汇率查询
- IOC详解
- Android与JavaScript之间的相互调用
- Java Web之浅谈自定义标签库
- 设计模式----享元模式UML和实现代码
- sql之left join、right join、inner join的区别
- iOS url 编码 解码
- App生命周期
- ViewController生命周期
- 下载使用CocoaPods的开源项目时,编译出现错误解决方法
- 码农的逆袭!掌握它,你将走上人生巅峰!
- 爬虫搜索基础篇(四)
- windows下bat启动oracle服务
- 转换时间戳为date类型的oracle方法
- Oracle中Instr用法
- 自定义输入dialog,圆角边框,去掉底部黑色背景。去掉editText黄色输入框。