题目描述
给定一个正整数 n,请判定它是否是一个回文数,所谓回文数,就是将这个数的所有数字倒序排列后这个数的大小保持不变,比如 101101 与 68866886 都是回文数,而 100100 不是回文数。
输入格式
单个正整数:表示给定的数字
输出格式
- 如果输入是一个回文数,输出
Palindromic Number; - 否则,输出
Non-Palindromic Number。
数据范围
- 对于 100%100% 的数据,1≤n≤10,000,0001≤n≤10,000,000。
限制要求
内存限制: 256 Mb时间限制: 1000 ms
样例数据
输入:
1001
输出:
Palindromic Number
输入:
8848
输出:
Non-Palindromic Number
解析
每次取模,从后往前乘10加模进行累加,代码如下:
#include <iostream>
using namespace std;
int main(){
int n,m,total;
total=0;
cin>>n;
m=n;
while(m>0){
total=total*10+m%10;
m=m/10;
}
if(total==n){
cout<<"Palindromic Number"<<endl;
}else{
cout<<"Non-Palindromic Number"<<endl;
}
return 0;
}
本文详细解释了如何用C++编写代码检测一个正整数是否为回文数,涉及取模和累加操作。
2895






