判断回文数

 

什么是回文数呢?回文数就是以中间为界,两边对称的数,如12321;1441

如何判断一个数是不是回文数呢?我知道的2种方法
1 字符型逐个比较法
令i=0;j=a.length;mid=a.length/2;
如12321,i=0,j=4;mid=2;
1   a[i]和a[j]比较,1(第一个)和1(最后一个)比较
2   i++;j--;判断i=mid吗?不等于转到1,等于时算法结束

1和1比较,2和2比较,i=mid了不用比较了,算法结束,是回文数

若中间出现不等,那么说明不是回文数

 

2 整数翻转法

令i=10;int a[5];b=12321;
1  12321%10=1;a[0]=1;
2  i=i*10=100;
3  b=b/i=12321/100=1232;
4  1232%10=2;a[1]=2;
5  重复2、3、4;a[5]={“1,2,3,2,1”},i=10000;
6  a[0]=a[0]*i=10000;
7  i=i/10=1000;a[1]=a[1]*i=2000;
8  重复6,7;然后全部相加得12321
9  比较翻后的数字,相等,是回文数,否则不是回文数


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值