题目描述:
“满地红花红地满,天连碧水碧连天”,是一副回文对联,用回文形式写成的对联,即可以顺读,也可以倒读,意思不变。
在数学中回文数是指将该数各个数位上的数字反向排列所得的自然数,与该数相等。
如,1234321是回文数。
试编写一程序,判断一个自然数是不是回文数。
输入格式:
一个整数x,10≤x≤109
输出格式:
输出yes 或 no。
样例输入:
12344321
样例输出:
yes
时间限制: 1000ms
空间限制: 256MB
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;//定义一个变量储存将判断的数字
cin>>a;//输入这个变量(即一个数字)
int b=0,c=a;//定义一个“b”用于储存并判断“a”数的每一位,“c”变量用于储存原数“a”
while(a>0)//只要“a”没有储存完每一位,就继续储存并将该数倒过来
{
b=b*10+a%10;//储存该位
a/=10;//删掉已储存的位数
}
if(c==b) cout<<"yes";//判断倒过来的数是否与原数相等,若相等则为回文数
else cout<<"no";//若不相等则不为回文数
return 0;
}