特殊回文数 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

posted @ 2021-03-31 18:59  记录学习Blog  阅读(46)  评论(0编辑  收藏  举报