#初めに
皆さん。こんにちは!
DreamHanksの254cmです。
今回はロジック練習問題とその解説について作成していきます。
この記事あるようなロジック脳トレ問題のまとめはこちらです。
Java記事のまとめはこちらです。
#逆三角数字
javaプログラムを作成して下記のような出力結果を出してください。
##解説
上記の画像を見ると一つ目の行で
012345678910
0から10まで出力されています。
二つ目からは両方の数字が一つずつ減って
123456789
2345678
34567
456
5
になります。
0~10までの数字を一行ずつ出力しますが、両方の数字を切り詰めながら出力するのがポイントです。
つまり、0~10まで出力するfor、両端の数字の場合に処理を分けるif
上記の処理を6回繰り返すforが必要になります。
※上記の画像は6行を出力しているので、6回繰り返します。
しかし、両端の数字を消すだけではいけません。
両方の数字を消しさえすれば
012345678910
123456789
2345678
34567
456
5
になって問題の画像のようになりません。
消された数字の位置にスペースを入れて逆三角形の姿が維持されるようにします。
#ソースコード
public class LogicSample01 {
public static void main(String[] args) {
int[] a = new int[11];
for (int i = 0 ; i<a.length;i++) {
a[i] = Integer.parseInt(args[i]);
}
for (int i= 0 ;i<6;i++) {
for (int j = 0;j<a.length;j++) {
if(j<i||j>a.length-i-1) {
System.out.print(" ");
}
else {
System.out.print(a[j]);
}
}
System.out.println();
}
}
}
#終わりに
今回の記事は以上になります。
ご覧いただきありがとうございます。
この記事あるようなロジック脳トレ問題のまとめはこちらです。