LoginSignup
0
0

More than 3 years have passed since last update.

【Java開発】ロジック練習問題 - 逆三角数字

Last updated at Posted at 2020-09-29

初めに

皆さん。こんにちは!

DreamHanksの254cmです。

今回はロジック練習問題とその解説について作成していきます。

この記事あるようなロジック脳トレ問題のまとめはこちらです。

Java記事のまとめはこちらです。

逆三角数字

javaプログラムを作成して下記のような出力結果を出してください。

20200929 問題サンプル.png

解説

上記の画像を見ると一つ目の行で

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();
        }
    }
}

終わりに

今回の記事は以上になります。

ご覧いただきありがとうございます。

この記事あるようなロジック脳トレ問題のまとめはこちらです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0