思路:将回文数颠倒后与原来的数字相同即为回文数,例如 1221 颠倒后依然为 1221,即1221为回文数
C++代码
bool Symmetry (long n) { long i,temp; i=n; temp=0; while(i) //不用出现长度问题,将数按高低位掉换 { temp=temp*10+i%10; //i%10 求出i末尾数字 //初始temp为0 第一次 temp算出i的末尾数字 //例如 数字为 11001 计算后 temp为1 下次循环temp 为原来的末尾数字*10 + 的倒数第二位数字 如此反复 temp最终为n颠倒后的数字 i/=10;//除去末尾数字后的数字 例如 数字为 11001 除去后 i为1100 } return(temp==n);//颠倒后的数字和原数相等即为回文数 }