基礎練習特殊回文数ブルーブリッジ杯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桁を判断します.
リソース制限時間制限: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);
}
}
}
}