このアルゴリズムの解がわかりません。
入れ子になった正方形を描くアルゴリズムについて勉強しています。
添付の画像のように、「*」を用いて、入れ子構造になった正方形
を描く為のアルゴリズムを疑似言語で作る問題があります。
一番外側の枠を書く条件はわかるのですが、それ以外が考えても考えてもわかりません。
問題には以下のアルゴリズムの穴埋めを行いますが、埋まる内容とその理由を
教えていただけませんでしょうか?
ここから
---------------------------------------------------------------------------
procedure main:
begin
I ← 1;
while I <= L do begin
J ← 1;
while J <= L do begin
if I が奇数である then
if ***** 穴埋め「ア」 ***** then
write "*"
else if ***** 穴埋め「イ」***** then
write "*"
else if ***** 穴埋め「ウ」***** then
write "*"
else
write " "
else
if ***** 穴埋め「エ」***** then
write " "
else if ***** 穴埋め「イ」***** then
write " "
else if ***** 穴埋め「ウ」***** then
write " "
else
write "*"
J ← J + 1
end;
改行する;
I ← I + 1
end
end
---------------------------------------------------------------------------
ここまで
補足ですが、正方形の1辺の文字数は、変数Lに設定されており、その文字数は、この方法で正方形が描ける(7が最少で11、15...のように4つずつ増える)であるものとするみたいです。
どうかヒントだけでも構いませんので、
ご教授よろしくお願いいたします。