数字逆置
原型是判断是否为回文数:
//判断n是否为回文数
bool symm(unsigned n)
{
unsigned i=n;
unsigned m=0;
while(i>0)
{
m=m*10+i%10;
i/=10;
}
return m==n;
}
逆置的例子为:输入:789;输出为:987
原理是:依次用i取出每一位数,然后用m来记录取出的位数,并且当新的位数出来的时候使以前的位数左移一位(即乘10操作),然后叠加每取出的位数(i%10)。
第一趟:i>0——m=9;i=78
第二趟:i>0——m=90+8=98;i=7;
第三趟:i>0——m=98+7;i=0;
第四趟:结束
总结:整体算法的思路还是挺好的,第一次根本没想到,值得借鉴。