试题 基础练习 特殊回文数

资源限制

内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

此题解决采用暴力求解即可,但可以对循环做一些小优化,只考虑一半的内容

package _4_29;

import java.util.Scanner;

public class HuiWenShu {
	public static void main(String[] args) {
		int n;
		Scanner sc=new Scanner(System.in);
		n=sc.nextInt(); //表示总数
		for(int i=1;i<10;i++)
			for(int j=0;j<10;j++)
				//五位数的判断
				for(int k=0;k<10;k++) {
					if(i*2+j*2+k==n) {
						System.out.println(i*(10000+1)+j*(1000+10)+k*100);
					}
				}
		for(int i=1;i<10;i++)
			for(int j=0;j<10;j++)
				//六位数的判断
				for(int k=0;k<10;k++) {
					if(i*2+j*2+k*2==n) {
						System.out.println(i*(100000+1)+j*(10000+10)+k*(1000+100));
					}
				}		
	}
}

你可能感兴趣的:(蓝桥杯,蓝桥杯,算法,java)