-4

Enter number: " " <- ここに 7 を入力すると、出力は 7x7 ボックスのアスタリスクになります。しかし、状態はそのアスタリスクの箱の中にダイヤモンドがあります。

*******
*** ***
**   **
*     *
**   **
*** ***
*******

配列を使用するためのプログラムは何ですか? 「java.io.*をインポート......」

4

1 に答える 1

2

これは宿題のように見えるため、完全なコードは示しませんが、使用できる 1 つのアルゴリズムの概要を次に示します。

(i, j)グリッド内の各位置について、ダイヤモンドの中心からのマンハッタン距離を計算します。ダイヤモンドの「半径」を超える場合は、それ以外の*場合はスペースを出力します。

ダイヤモンドの中心が(x, y)マンハッタンである場合、その位置までの距離(i, j) は次の式で与えられます。

int distanceFromCenter = Math.abs(x - i) + Math.abs(y - j);

マンハッタン距離の代わりにユークリッド距離の式を使用すると、ダイヤモンドの代わりに円が得られることに注意してください。ただし、7x7 の解像度でこれら 2 つの形状の違いを確認するのは難しい場合があります。

于 2012-07-27T09:46:54.087 に答える