回文数的判断方法之一

来源:互联网 发布:react.js 中文 编辑:程序博客网 时间:2024/05/16 05:49

程序:

#include<stdio.h>
int main(void)
{
      int a;
      scanf("%d",&a);
      int m;
      int sum = 0;
      m = a;
      while(m)
{
      sum = sum*10 + m%10;
      m /= 10;                                         // m = m/10
}
      if( sum == a)
      printf("是回文数!\n");
      else
      printf("不是回文数\n");
      return 0;
}

解释:

任何一个数除以10的余数就是该数最后一位
任何一个数除以10的商就是排除掉最后一位后的数(因为 c++ 两个整数相除结果还是整数)

所以 ,一个数1234 就可以通过这种方法得到 123 和 4
接下来对 123 进行同样的操作,就得到 12 和 3
接下来得到 1 和 2
接下来得到 0 和 1

整个过程是个循环,当商不是 0 的时候就一直这么干

每次拿到一个余数,都用来构造新数,新数=新数*10+余数

所以经过四次循环后,我们得到新数 4321 ,如果是回文,那么新数应该等于原数,否则,说明不是回文。

0 0
原创粉丝点击