当前位置:   article > 正文

C/C++蓝桥杯之回文数

C/C++蓝桥杯之回文数

若一个数(首位不为0)从左向右与从右向左读都一样,则称之为回文数。

例如:给定一个十进制数56,若将56加65(即把56从右左读),则得到121是一个回文数。

如果在30步以内得到回文数,则输出步数,否则输出-1

回文数的判断函数:

  1. bool huiwenshu(long int n)
  2. {
  3. long int m=0;
  4. long int k;
  5. k= n;
  6. while (k > 0)//将n倒置后保存在m中
  7. {
  8. m = m * 10 + k % 10;
  9. k/= 10;
  10. }
  11. if (m == n)
  12. return 1;
  13. else
  14. return 0;
  15. }

实现代码:

  1. #include<stdio.h>
  2. #include<stdbool.h>
  3. int main()
  4. {
  5. long int num;
  6. int count = 0;
  7. scanf("%ld", &num);
  8. long int m = 0;
  9. long int k;
  10. k = num;
  11. while (k > 0)//将num倒置后保存在m中
  12. {
  13. m = m * 10 + k % 10;
  14. k /= 10;
  15. count += 1;
  16. }
  17. if (count>=30)
  18. printf("-1");
  19. else
  20. printf("%d",count);
  21. return 0;
  22. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/223580?site
推荐阅读
相关标签
  

闽ICP备14008679号