藍橋杯:迴文數字
題目描述
觀察數字:12321,123321 都有一個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做:迴文數字。
本題要求你找到一些5位或6位的十進位制數字。滿足如下要求:
該數字的各個數位之和等於輸入的整數。
輸入
一個正整數 n (10< n< 100), 表示要求滿足的數位和。
輸出
若干行,每行包含一個滿足要求的5位或6位整數。
數字按從小到大的順序排列。
如果沒有滿足條件的,輸出:-1
樣例輸入
44
樣例輸出
99899 499994 589985 598895 679976 688886 697796 769967 778877 787787 796697 859958 868868 877778 886688 895598 949949 958859 967769 976679 985589 994499
程式設計程式碼如下:
public static void main(String[] arg) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
boolean bool = false;
for (int i = 10000; i <= 999999; i++) {
String str = String.valueOf(i);
StringBuffer sb = new StringBuffer(str);
String str1 = new String(sb.reverse());
if (str.equals(str1)) {
char[] c = str.toCharArray();
int sum = 0;
for (int j = 0; j < c.length; j++) {
String s = String.valueOf(c[j]);
int t = Integer.parseInt(s);
sum += t;
}
if (sum == n) {
System.out.println(i);
bool = true;
}
}
}
if (!bool) {
System.out.println("-1");
}
}