题解 | #回文对称数#

回文对称数

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

}

全部评论

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务