728x90
반응형
파이썬 실습창을 열 수 있습니다.실습창 열기
숫자 피라미드
숫자 피라미드(number pyramid)는 피라미드 모양을 이루는 규칙적인 수식들의 모임입니다.
1. '1819' 피라미드
'1819 피라미드'는 다음과 같습니다.
1 * 8 + 1 = 9
12 * 8 + 2 = 98
123 * 8 + 3 = 987
1234 * 8 + 4 = 9876
12345 * 8 + 5 = 98765
123456 * 8 + 6 = 987654
1234567 * 8 + 7 = 9876543
12345678 * 8 + 8 = 98765432
123456789 * 8 + 9 = 987654321
1-1 분석
피라미드를 자세히 관찰하여 봅시다.
- '='의 왼쪽식을 연산하면 오른쪽의 숫자가 됩니다.
- 바뀌는 것은 1부터 9까지의 숫자입니다.
왼쪽 처음 숫자는 앞의 숫자를 10배하면서 1부터 9까지의 숫자를 더한것입니다.
1-2 코딩
어렵지 않습니다. 잘 분석하여 보세요.
n=0
for i in range(1,10):
n=n*10+i # 왼쪽 처음 숫자를 만듬
w=f'{n:10} * 8 + {i} = {n*8+i}' # n을 10칸에 출력
print(w)
'''
4번 줄 f-format이 안되면 다음과 같이 하세요.
w='{:10} * 8 + {} = {}'.format(n,i,n*8+i)
'''
2. 111' 피라미드
1 * 1 = 1
11 * 11 = 121
111 * 111 = 12321
1111 * 1111 = 1234321
11111 * 11111 = 123454321
111111 * 111111 = 12345654321
1111111 * 1111111 = 1234567654321
11111111 * 11111111 = 123456787654321
111111111 * 111111111 = 12345678987654321
코딩하여 보세요.
더보기
n=0
for i in range(9):
n=n*10+1
w=f'{n:10} * {n:<10} = {n*n:^20}'
print(w)
'''
4번 줄: 오른쪽 정렬, 왼쪽 정렬, 가운데 정렬입니다.
고급 포멧은 w='{:10} * {:<10} = {:^20}'.format(n,n,n*n)
'''
3. '0911' 피라미드
도전하시겠습니까?
0 * 9 + 1 = 1
01 * 9 + 2 = 11
012 * 9 + 3 = 111
0123 * 9 + 4 = 1111
01234 * 9 + 5 = 11111
012345 * 9 + 6 = 111111
0123456 * 9 + 7 = 1111111
01234567 * 9 + 8 = 11111111
012345678 * 9 + 9 = 111111111
0123456789 * 9 + 10 = 1111111111
더보기
n=''
for i in range(10):
n+=str(i)
w=f'{n:>10} * 9 + {i+1:2} = {int(n)*9+i+1}'
print(w)
'''
숫자 앞의 0(영) 때문에 str을 사용하였습니다.
4번 줄: n이 문자이므로 오른쪽 정렬하였습니다.
고급 포멧은 다음과 같습니다.
w='{:>10} * 9 + {:2} = {}'.format(n,i+1,int(n)*9+i+1)
'''
알고보면 간단합니다.
'별 것 아니네!'
이렇게 생각되면 오늘 끝.
수고하셨습니다.
728x90
반응형
'알고리듬' 카테고리의 다른 글
[알고리듬] #57 크리스마스 선물 (0) | 2024.04.16 |
---|---|
[알고리듬] #56 테일러 급수 (2) | 2024.04.16 |
[알고리듬] #54 구구단 표 (0) | 2024.04.14 |
[알고리듬] #53 for문의 이해 (0) | 2024.04.14 |
[알고리듬] #52 아이스크림 (0) | 2024.04.13 |