基礎練習特殊回文数ブルーブリッジ杯JAVA

7943 ワード

試験問題基礎練習特殊回文数
リソース制限時間制限:1.0 sメモリ制限:512.0 MB問題記述123321は、左から読むのと右から読むのと同じ非常に特殊な数です.正の整数nを入力し、プログラムはこのような5桁と6桁の10進数をすべて求め、各数字の和がnに等しいことを満たす.入力フォーマット正の整数nを含む行を入力します.出力フォーマットは、条件を満たす整数を小さい順に出力し、各整数が1行を占める.サンプル入力52サンプル出力899998 989989 998899データ規模と約1<=n<=54.
この問題は前の回文数の問題と同じやり方ですが、これが5位と6位になっただけなので、判断を加えればいいです.コードは以下の通りです.小さいものから大きいものまで出力するので、まず5桁を判断します.
import java.util.Scanner;


public class Main {
	public static void main(String[] args) {
		int a,b,c,d,e,f; //             ,  ,   .   ,   ,   
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		
		for(int i=10000;i<100000;i++) {  //     
			a=i/10000;				//  5       ,  ,   .   ,   ,   
			b=(i/1000)%10;
			c=(i/100)%10;
			d=(i/10)%10;
			e=i%10;
			if(a==e&&b==d&&n==a+b+c+d+e) {
				System.out.println(i);
				}
			}		
		for(int i=100000;i<1000000;i++) {  //     
			a=i/100000;
			b=(i/10000)%10;
			c=(i/1000)%10;
			d=(i/100)%10;
			e=(i/10)%10;
			f=i%10;
			if(a==f&&b==e&&c==d&&n==a+b+c+d+e+f) {
				System.out.println(i);
				}
			}
		
	}
	
}