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 版权协议,转载请附上原文出处链接和本声明。