特殊回文数 BASIC-9
特殊回文数
代码
import java.util.Scanner;
/*123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,
满足各位数字之和等于n 。
* */
public class 特殊回文数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 五位数
int a=0,b=0,c=0,d = 0,e=0,f=0;
for (int i = 10000; i <= 99999; i++) {
a = i/1%10;//个位
b = i/10%10;//十位
c = i/100%10;//百位
d = i/1000%10;//千位
e = i/10000%10;//万位
if(a+b+c+d+e == n&&a==e&&b==d) {
System.out.println(i);
}
}
for (int i = 100000; i <= 999999; i++) {
a = i/1%10;//个位
b = i/10%10;//十位
c = i/100%10;//百位
d = i/1000%10;//千位
e = i/10000%10;//万位
f = i/100000%10;//十万位
if(a+b+c+d+e+f == n&&a==f&&b==e&&c==d) {
System.out.println(i);
}
}
}
}
得到一个任意数的每一位数字
public static void main(String[] args) {
//1.整除法
int m = 1234567;
String count = m+"";
int [] arr = new int[count.length()];
for (int i=0;i<count.length();i++){
arr[i]=m%10;
m/=10;
}
for (int i=0;i<arr.length;i++) System.out.print(arr[i]+" ");
System.out.println();
//2.直接转换成数组
int n=1234567;
char[] chars=String.valueOf(n).toCharArray();
for(int j=0;j<chars.length;j++){
System.out.print(chars[j]+" ");
}
}
注:部分参考: https://blog.csdn.net/Esther_Lee/article/details/105580740?ops_request_misc=&request_id=&biz_id=102&utm_term=获取每一位的数值&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-105580740.nonecase