问题描述
1221是一个非常特殊的数,它从左边读和右边读是一样的,编程求出所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
思路
求出所有四位十进制的回文数,可以通过遍历四位数来找出千位与个位,百位与十位相等的数即可。也可以换个思路,四位十进制回文数,那就只有两个数在变化,挑出前两位数,利用for循环自增变化,输出时按照对应位置输出即可。
代码
遍历四位数
package dailytest;
public class d7_19 {
public static void main(String[] args) {
for(int i = 1000; i < 10000;i++){
int a,b,c,d;
a = i/1000;
b = (i/100)%10;
c = (i/10)%10;
d = i%10;
if(a == d && b == c){
System.out.println(i);
}
}
}
}
通过遍历所有四位数找到所需要的值,for循环次数相对于第二过大。
public class d7_19 {
public static void main(String[] args) {
for(int i = 1;i < 10;i++)
for(int j = 0;j < 10;j++){
System.out.println(""+ i + j + j + i);
}
}
}
这种方法直接得到所需要求的数,没有太多无效过程。