什么是回文数?
简单的说,就是一个数正着读跟倒着读都是同一个数。
例如:12345,倒着读是54321,它不是一个回文数。而12321,倒着读还是12321,它就是一个回文数。
示例一
- 判断五位数是否为回文数
// Function:判断输入的五位数是否是回文数
#include<iostream>
using namespace std;
int main(){
int myriabit,kilobit,decade,unit,number;
while(1){
cout<<"请输入一个五位数:";
cin>>number;
myriabit=number/10000;
kilobit=(number%10000)/1000;
decade=(number%100)/10;
unit=number%10;
if(myriabit==unit&&kilobit==decade){
cout<<"Yes"<<endl;
}
else cout<<"No"<<endl;
}
return 0;
}
这个呢,是我自己刚学C++时学到的判断回文数的方法,这个缺陷就如介绍说的一样,只能判断五位数的回文数,无法判断其他位数的数。
样例二
- 判断任意位数的回文数(当然肯定不能超过整型范围)
#include <iostream>
using namespace std;
int main(void)
{
int num, m;
int sum = 0;//一定要初始化,不然sum的值是垃圾值
cin >> num; //将这个要判断的数输入进来
m = num; //将这个值赋给变量m
while(m)
{
sum = sum * 10 + m % 10;
m /= 10; //等价于 m = m / 10;
}
if(num == sum)//判断倒着读跟正着读是否一样
{
cout << num << "是回文数!" << endl;
}
else
{
cout << num << "不是回文数。" << endl;
}
return 0;
}
走过路过给个点赞👍,谢谢啦。