2의 거듭제곱을 삼각형 형태로 인쇄하는 방법은 무엇입니까?

2의 거듭제곱을 삼각형 형태로 인쇄하는 방법은 무엇입니까?

다음을 인쇄하려고 합니다. 삼각형의 2제곱

그러나 나는 결과를 얻지 못합니다. 나는 다음을 시도했다:

for (( i=1; i<=5; i++ ))
do
    for (( j=1; j<=i;  j++ ))
    do
     echo -n "$((j**2))"
    done
    echo ""
done

답변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

관련 정보