问题:
给一个数字,判断该数字是否是回文。比如 1221是回文,而123不是。
分析:
判断一个数字是否是回文,我们可以先把它转成字符串,然后根据回文“对称”的特性进行判断:查看第 x 个字符是否与第 n - x + 1 字符是否相等 (x 从1开始,n/2 结束, n 是指数字长度)。但是,这道题因为是数字,有一种更好的解法。即根据原始数字,通过数学方法构建出它的回文数字,如果原始数字大小等于回文数字大小,那么该数字是回文,否则不是。
代码如下:
bool isPalindrome(int originalNumber) {
int palindrome = 0;
int origin = originalNumber;
// get the palindrome
while(originalNumber != 0) {
palindrome = palindrome * 10 + originalNumber % 10;
originalNumber /= 10;
}
return palindrome == origin ;
}
扩展:
给你一串字符串,找出其中最长的回文。这题的答案可以参考:http://blog.csdn.net/beiyeqingteng/article/details/7097146。
本文算法参考:http://codercareer.blogspot.com/2011/11/no-23-palindrome-numbers.html
转载请注明出处: http://blog.csdn.net/beiyeqingteng.
分享到:
相关推荐
编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,如12121和3223都是回文数
//第一个循环,输入数组a for (i = 0; i ; i++) { a[i] = char.Parse(Console.ReadLine()); //Console.WriteLine(a[i]); } //第二个循环,输出数组a for (i = 0; i ; i++) Console.Write(a[i] + " "); //...
数据结构C语言利用栈来实现判断一个数是否是回文数需要一个一个数字输入输入结束以后选择是否要继续输入
用户从键盘输入一个Long范围之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。并输出个位数所对应的枚举常量...
java 检查是否是回文 java 检查是否是回文 java 检查是否是回文
java 如何判断回文数字 java 如何判断回文数字
使用java语言实现回文的判断,当你输入一个数字的时候判断是否为回文
1.任意输入一个数,用两种方法判断该数是不是回文数,像1,323,45254; 方法一,设原数为12,是将输入数进行倒序(21),然后与原数(12)进行比较,若不同则不是回文;...任意输入一个字符串,判断它是不是一个回文字符串
本程序是java初级入门者的必修代码,使用了最简单的各位数比较,从而实现了简单的多位数的判断,以及回文数字的判断。
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。 里面的word包含有详细的...
def hwnum(n): m=n[::-1] if (m==n): print("是回文数字。") else: print("不是回文数字。") num=input("请输入你要查询的回文数字:") hwnum(num)
Python基础:判断回文,代码简介易懂,是刚学python的人可以学习和借鉴的程序
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。 1)程序具有判断用户的输入...
输入一个整数判断其是否是回文数……可以直接在vc6.0平台上 直接运行通过,例如输入 121 ,则输出,恭喜您,您输入的是回文数……呵呵,见笑了,学习学习……
初学java编程,自己写的一个回文数判断,实现了输入一个数字并判断其是否为回文数。
编写一个java应用程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。
用户从键盘输入一个数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。 1)程序具有判断用户的输入是否为合法...
运用python进行回文数实现,交换位置。回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数
C语言判断是否为回文数及其简介 回文数是指从左往右读和从右往左读都一样的数。例如,121、12321、585等都是回文数。在数学上,回文数有许多有趣的性质,例如它是其唯一一种能以其结尾的两位数。 回文数在数学领域中...
c语言源码就是将这串数字逆序,然后判断逆序后的数字是否和正序后的数字完全一样,如果完全一样,就是回文。 那么,如何将这串数字逆序:就是利用一个栈来实现逆序。 利用栈先进后出的性质。