ベストアンサー1
いくつかの質問があります:
- 印刷する内容は2のj平方ではなくj平方です。
- 0のような2の重なりはありません。
- 数字を区切るには、スペースを印刷する必要があります。
- 完全性のために2**0を印刷するには、ループの初期値は1ではなく0でなければなりません。
だから
for (( i=0; i<=5; i++ ))
do
for (( j=0; j<=i; j++ ))
do
echo -n "$((2 ** j)) "
done
echo ""
done
生産する
1
1 2
1 2 4
1 2 4 8
1 2 4 8 16
1 2 4 8 16 32