采用不同的方法实现回文数的判断
2014-08-21 16:04
260 查看
题目要求:采用集中你认为可行的方法实现回文数的判断
输入:123321
输出:Yes!
输入:122
输出:No!
法1:采用整数的方法,将一个整数输入,然后将整数反转,判断反转后的整数是否和原来的书相等,但是这个方法没有考虑到若该数很大超过了计算机的最大存储范围,那么就会溢出啊。
代码如下:
法2:利用字符串的方法将字符串翻转后和原来的字符串进行比较,这样可以解决溢出的问题
输入:123321
输出:Yes!
输入:122
输出:No!
法1:采用整数的方法,将一个整数输入,然后将整数反转,判断反转后的整数是否和原来的书相等,但是这个方法没有考虑到若该数很大超过了计算机的最大存储范围,那么就会溢出啊。
代码如下:
#include <iostream> using namespace std; int main() { int iNum; int i,reNum=0; cin>>iNum; i = iNum; while (i!=0) { reNum = reNum*10+i%10; i = (i-i%10)/10; } if (reNum == iNum) cout<<"Yes!"; else cout<<"No!"; return 0; }
法2:利用字符串的方法将字符串翻转后和原来的字符串进行比较,这样可以解决溢出的问题
#include <iostream> #include <string> using namespace std; int main() { string str,restr; cin>>str; restr = str; int len = str.length(); for(int i=0;i<len/2;i++) { char temp = str[i]; str[i] = str[len-i-1]; str[len-i-1]= temp; } if (restr == str) cout<<"Yes!"<<endl; else cout<<"No!"<<endl; return 0; }
相关文章推荐
- 斐波拉契数列进行编译,采用三种不同的方法实现,迭代,递归,数组
- 【面试题】判断回文数-两种方法实现
- 3个方法实现JavaScript判断移动端及pc端访问不同的网站
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第一部分 视图View与连接Join)
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 【转帖】深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第三部分 前n项(Top-n)查询)
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第二部分 结果集排序)
- 搞了一天终于实现了 DataGrid 中的多国语言的问题,采用了中文向其他语言自动翻译的方法,其实不难,主要是想法(本文不涉及这个计算机技术问题,仅以此作为标题)
- 深入浅出Dll(介绍函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第六部分 基础数据类型之BOOLEAN)
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子
- 用js实现多域名不同文件的调用方法
- 今天需要生成一条option记录插入到select,采用dom的方法与先前的方法有所不同
- 字符串s中出现的C字符删除的不同实现方法
- 模式探索(1):采用委托实现模版方法
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第二部分 结果集排序)
- Asp.net Mvc Preview 5 体验--实现ActionSelectionAttribute来判断是否为AJAX请求而选择不同的Action