10000以内的回文数和判断一个数字是否是回文数

  • Post author:
  • Post category:其他


10000以内的回文数和判断一个数字是否是回文数



1、10000以内的回文数


回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数


例如121,1221,13131……

10000以内的回文数分为3种情况:两位数,三位数和四位数

因为回文数正序和倒序都是一样的数 所以用两个for循环就可以解决

看代码:

public class demo_06 {
    public static void main(String[] args) {
        //10000以内的回文
        for (int i = 1; i <=9 ; i++) {
           	for (int j = 0; j <=9 ; j++) {
           		System.out.println(i+""+i);//两位数
           		System.out.println(i+""+j+""+i);//三位数
              	System.out.println(i+""+j+""+j+""+i);//四位数
            }
        }
    }
}



2、判断一个数字是否是回文数

import java.util.Scanner;
public class demo_06 {
    public static void main(String[] args) {
//        判断一个数字是否为回文数字
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        int temp=n;
        int reserve=0;
        while (n>0){
            reserve=n%10+reserve*10;
            n=n/10;
        }
        if (temp==reserve){
            System.out.println(true);
        }else System.out.println(false);
    }
}

这个算法的解法就是:将这个数进行翻转对比 如果相等就是回文数字

具体做法如下:

每次将n进行取余操作 ( %10),取出最低的数字加到reserve的后面:reserve=n%10+reserve*10;并且每取一个最低位数字,n都要自除以 10当n=0的时候就表示reserve就是n翻转后的数字,把他和之前的n进行对比



版权声明:本文为qq_43649799原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。