蓝桥杯基础练习 回文数

。_饼干妹妹 提交于 2019-12-05 16:46:23
问题描述
  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式

  按从小到大的顺序输出满足条件的四位十进制数。


1.常规做法

#include <cstdio>
int is_palindrome(int n){
    int a[5],num=0;
    do{
        a[num++]=n%10;
        n/=10;
    }while(n);
    for(int i=0;i<num/2;i++) if(a[i]!=a[num-1-i]) return 0;
    return 1;
}

int main(){
    for(int i=1000;i<=9999;i++)
        if(is_palindrome(i)) printf("%d\n",i);
    return 0;
}

2.由题中锦囊可得另外一种比较简便的方法

#include <cstdio>
int main(){
    int a,b,c,d;
    for(int i=1000;i<=9999;i++){
        a=i/1000;
        b=i/100%10;
        c=i%100/10;
        d=i%10;
        if(a==d&&b==c) printf("%d\n",i);
    }
    return 0;
}



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!