什么是回文数呢?回文数就是以中间为界,两边对称的数,如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 比较翻后的数字,相等,是回文数,否则不是回文数