问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
解题思路:本题和上一题类似,也可套用for循环或取余解出来
方法一:套用for循环
public class Main {
public static void main(String[] args) {
for (int i = 1000; i < 10000; i++) {//定义回文数i的范围
for (int a = 1; a < 10; a++) {//千位,从1-9
for (int b = 0; b < 10; b++) {//百位,从0-9
for (int c = 0; c < 10; c++) {//十位,从0-9
for (int d = 0; d < 10; d++) {//个位,从0-9
//如果i满足此条件
if (a * 1000 + b * 100 + c * 10 + d == i) {
if (a == d && b == c){
System.out.println(i);//输出回文数i
}
}
}
}
}
}
}
}
}
方法二:取余
public class Main{
public static void main(String[] args){
for(int i=1000;i<10000;i++){//定义回文数i的范围
int a=i/1000;//取千位数
int b=i/100%10;//取百位数
int c=i/10%10;//取十位数
int d=i%10;//取个位数
if(a==d&&b==c){//如果满足回文数条件
System.out.println(i);//输出回文数i
}
}
}
}