赞
踩
若一个数(首位不为0)从左向右与从右向左读都一样,则称之为回文数。
例如:给定一个十进制数56,若将56加65(即把56从右左读),则得到121是一个回文数。
如果在30步以内得到回文数,则输出步数,否则输出-1
回文数的判断函数:
- bool huiwenshu(long int n)
- {
- long int m=0;
- long int k;
- k= n;
- while (k > 0)//将n倒置后保存在m中
- {
- m = m * 10 + k % 10;
- k/= 10;
- }
- if (m == n)
- return 1;
- else
- return 0;
- }
实现代码:
- #include<stdio.h>
- #include<stdbool.h>
- int main()
- {
- long int num;
- int count = 0;
- scanf("%ld", &num);
- long int m = 0;
- long int k;
- k = num;
- while (k > 0)//将num倒置后保存在m中
- {
- m = m * 10 + k % 10;
- k /= 10;
- count += 1;
- }
- if (count>=30)
- printf("-1");
- else
- printf("%d",count);
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。