蓝桥杯——BASIC-8 回文数 心得

问题描述

1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
  按从小到大的顺序输出满足条件的四位十进制数。

心得:从左读和从右读都是一样的,说明需要两个变量并且彼此相等,一个正着遍历一个反着遍历。 遍历每一位数字从1-9
共有两种方法遍历:

① 利用×1000 、x100 、x10 、x1 来获取这个四位数,然后利用==来判断

public class Main {
    public static void main(String[] args) {
       for (int i=1;i<10;i++){
           for (int j=0;j<10;j++){
               for (int k=0;k<10;k++){
                   for (int m=1;m<10;m++){
                        int a=i*1000+j*100+k*10+m;
                        int b=m*1000+k*100+j*10+i;
                        if (a==b){
                            System.out.println(a);
                        }
                   }
               }
           }
       }
    }
}

② 利用 String类型的字符串拼接而成,然后利用equals方法判断

public class Main {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            for (int j=0;j<10;j++){
                for (int k=0;k<10;k++){
                    for (int m=1;m<10;m++){
                        
                        //将int型替换为String型
                        String a=""+i+j+k+m; //这里不知为何要填加一个空串
                        String b=""+m+k+j+i;
                        if (a.equals(b)){
                            System.out.println(a);
                        }
                    }
                }
            }
        }
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值