回文数的判断
- 回文数:指正读反读都一样的数,如1,2,11,22,212,131等(注意,一位数永远为回文数)
- 设计算法:
我们采用反转法进行判断:数num=abc;
要使输出为cba,要进行以下几步:
1.先提出个位num1=c,而最后要将c移至最高位,则在每层循环中num1*=10;
2.采用while(num)作为循环的结束标志,这样c最终移动的此时就与num的位数相同
3.与此同时,也应在每层循环加上num中c的前一位数字达到反转的效果
-贴上代码
#include <iostream>
using namespace std;
void ispal_num(int n)
{
int num1=0;
int num=n;
while(num)
{
num1*=10;
num1+=num%10;
num/=10;
}
if(n==num1)cout<<"yes"<<endl;
else cout<<"not"<<endl;
return;
}
int main()
{
int num;
cin>>num;
ispal_num(num);
return 0;
}