题解 | #回文对称数#
回文对称数
https://www.nowcoder.com/practice/5b143af8328f4e42adf5e10397ae44ef
#include<stdio.h> int main() { int n,i,j,a=0; scanf("%d",&n);//输入 for(i=1;i<=n;i++)//从1开始找,一直到n { j=i;//不破坏i,找个替身j while(j>0)//把数字倒过来 { //例如j=123 a=j%10+a*10;//a=123%10+0*10=3 //a=12%10+3*10=2+30=32 //a=1%10+32*10=321 j=j/10; //j=123/10=12 //j=12/10=1 //j=1/10=0 } if(a==i)//如果倒过来的数字等于本身 { printf("%d\n",i);//则输出这个数,注意输出格式,别忘了加换行符\n } a=0;//每判断完一个数a归零,为下一个数做准备 } return 0; }
总结:
算一个数的倒着数
while(j>0)//把数字倒过来
{ //例如j=123
a=j%10+a*10; //a=123%10+0*10=3 //a=12%10+3*10=2+30=32 //a=1%10+32*10=321
j=j/10; //j=123/10=12 //j=12/10=1 //j=1/10=0
}