设计一个判断回文数的函数

回文数:回文数也是一个数字,数字的特点是正反序是同一个数字,例如:12321,3443,56765....。

代码如下:

bool JudgeIsPalindromicNumber(int num)

{

int arr[20] = { 0 };

int i = 0,j=0,count=0;

while (num)

{

arr[i] = num % 10;

num = num / 10;

count++;

i++;

}

for (i = 0, j = count-1; i <= j; i++, j--)

{

if (arr[i] != arr[j])

{

return false;

}

}

return true;

}

测试用例如下:

int main()

{

int num = 0;

cout << "请输入一个数:" << endl;

cin >> num;

if (JudgeIsPalindromicNumber(num))

{

cout << "是回文数" << endl;

}

else

{

cout << "不是回文数" << endl;

}

system("pause");

return 0;

}

输入1234,则输出结果如下:

输入12321,则输出结果如下:

时间: 2024-10-05 23:30:41

设计一个判断回文数的函数的相关文章

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

用c#判断回文数和降序数

题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数.当输入的数为0时,则退出程序,否则继续循环执行程序. 所谓“降序数”是指一个自然数的低位数字不大于高位数字的数.例如: 64, 55, 321都认为是降序数,但是623不是降序数.一位数字被认为是降序数. 所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的.例如: 646,1551,891232198都认为是回文数. 具体实现代码如下: 1 string str; 2 bool a = true, b = true;/

Python基础判断回文数

#判断回文数 a=raw_input('your enter:\n')b=[]l=len(a)for i in range(0,l):    m=a[l-i-1]    b.append(m) for j in range(l):   mark=True   if a[j]!=b[j]:       print 'no'       mark=False       breakif mark==True:    print 'yes'

ACM之判断回文数

题目如下 这道题比较简单,先上Python代码感受一下,就一行搞定: #判断回文数 def isPalindrom(x):     return  str(x) == str(x)[::-1] 这种方法虽然简单,但是耗时比较长.再用Java解决一下看看 方法一 显然负数不可能是回文数,区间[0,9]的整数肯定是回文数,所以把这些确定的条件先进行判断 将整数的每一位放在链表中,然后将链表逆序,比较逆序链表与顺序链表元素是否一样,一样则是回文数,否则不是 代码如下: public class Pal

判断回文数

import java.util.Scanner; public class PalindromicNumber { /** * 输入一个五位数判断是否为回文数 */ public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println("请输入一个五位数"); int num=s.nextInt(); int ge=num%10; //ge表示个位上的数 int sh

Python练习题 025:判断回文数

[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ----------------------------------------------- 做题做到现在,这种题目已经很轻车熟路了.希望下一题能增加点难度啊~~~ x = input('请输入一个5位数:') if x[0] == x[4] and x[1] == x[3]: print('%s是个回文数' % x) else: print('%s不是回文数' % x) 输

(LeetCode)Palindrome Number -- 判断回文数

Determine whether an integer is a palindrome. Do this without extra space. 解题分析: 题目很简单,但是对于要求需要看清楚. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using ex

实验二 (二) 判断回文数

(2)编写一个Java应用程序.用户从键盘输入一个1—9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223都是回文数. 如何从键盘输入一个数呢? 1 package test; 2 import java.util.Scanner; 3 public class KeyboardInput { 4 public static void main(String[] args){ 5 Scanner x

判断回文数算法

回文数是指正序(从左到右)读和倒序(从右到左)读都是一样的整数. 比如形如 121,1221,13531 的数字都是回文数,但 -121,10,25 等等都不是回文数. 如何判断一个数是回文数?这是一个很简单的算法,最常见的实现方式是使用一个栈或其他方法,把数字序列逆序,然后判断逆序后的数字是否等于原先的数字.显然这种实现方式需要至少 n 次循环才能完成判断. 本文提供一种更巧妙的方法,利用回文数的特点,只需要循环 \(\frac{n}{2}\) 次就可以完成判断了,代码及注释如下: bool