经典判断是否为回文数算法

思路:将回文数颠倒后与原来的数字相同即为回文数,例如  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);//颠倒后的数字和原数相等即为回文数
} 

猜你喜欢

转载自blog.csdn.net/qwerdf10010/article/details/79720169