题解 | #回文对称数#
回文对称数
https://www.nowcoder.com/practice/5b143af8328f4e42adf5e10397ae44ef
#include <stdio.h> int main() { int num,n; scanf("%d",&n); for (num=1;num<n;num++) { int cnt=0,i=num,flag=1; while(i)//求这个整数的位数 { cnt++; i/=10; } switch(cnt)//根据位数使用判断回文的方式 { case 2: if(num/10!=num%10) flag=0;//如果不是回文就清除标志 break; case 3: if(num/100!=num%10) flag=0; break; case 4: if(num/1000!=num%10||num/100%10!=num/10%10) flag=0; break; case 5: if(num/10000!=num%10||num/1000%10!=num/10%10) flag=0; break; default: break; } if(flag) printf("%d\n",num); flag=1; //复位回文标志 } return 0; }