蓝桥杯---特殊回文数

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

import java.util.Scanner;


public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		//枚举法
		
		//五位特殊回文数
		int[] number = new int[5];
		for(int i = 1;i<10;i++){//i从1开始,因为最高位不能为0
			number[0]=i;
			number[4]=i;
			for(int j = 0;j<10;j++){
				number[1]=j;
				number[3]=j;
				for(int m =0;m<10;m++){
					number[2]=m;
					if(number[0]+number[1]+number[2]+number[3]+number[4]==n){
						for(int w=0;w<5;w++){
						System.out.print(number[w]);
						}
						System.out.println();
					}
				}
			}
		}
		
		//六位特殊回文数
		int[] num = new int[6];
		for(int i = 1;i<10;i++){//i从1开始,因为最高位不能为0
			num[0]=i;
			num[5]=i;
			for(int j = 0;j<10;j++){
				num[1]=j;
				num[4]=j;
				for(int m =0;m<10;m++){
					num[2]=m;
					num[3]=m;
					if(num[0]+num[1]+num[2]+num[3]+num[4]+num[5]==n){
						for(int w=0;w<6;w++){
						System.out.print(num[w]);
						}
						System.out.println();
					}
				}
			}
		}
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/qq_39487875/article/details/86550153