728x90
문제
리처드 필립스 파인만은 노벨 물리학상을 수상한 미국의 물리학자이다.
그는 이론물리학을 연구했고, 양자 컴퓨팅 분야를 개척했다.
"Surely You’re Joking, Mr. Feynman!", "What Do You Care What Other People Think?"와 같은 그의 책은 많은 사람들의 사랑을 받았고, 한국에도 번역되어 출판되어져 있다.
그는 오랜 기간동안 퍼즐, 자물쇠, 암호를 만들고 푸는 일에 중독되어 있었다.
어느 날, 남아메리카의 한 농장에서 파인먼의 것으로 추정되는 한 메모가 발견되었다.
퍼즐은 이 메모에는 중간자와 전자기에 대한 내용이 적혀있었고, 가장 마지막 줄에는 다음과 같은 퀴즈가 적혀져 있었다.
"N × N 정사각형으로 이루어진 그리드에는 서로 다른 정사각형이 몇 개나 있을까요?" 이 퀴즈의 정답을 구하는 프로그램을 작성하시오.
N = 2인 경우에 정답은 5이다.
https://www.acmicpc.net/problem/5724
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있고, 그리드 한 변에 있는 정사각형의 개수 N이 주어진다. (1 ≤ N ≤ 100)
입력의 마지막 줄에는 0이 하나 주어진다.
출력
각 테스트 케이스에 대해서, 한 줄에 하나씩 서로 다른 정사각형의 개수를 출력한다.
예제
# input
2
1
8
0
# output
5
1
204
문제 풀이
while True:
N = int(input())
answer = 0
if N == 0:
break
else:
for i in range(1, N+1):
answer += i**2
print(answer)
아래와 같은 규칙을 구현했습니다.
N = 5
answer = 55
25 Square = 1
16 Square = 2
9 Square = 3
4 Square = 4
1 Square = 5
N = 6
answer = 96
36 Square = 1
25 Square = 2
16 Square = 3
9 Square = 4
4 Square = 5
1 Square = 6
N = 8
answer = 204
64 Square = 1
49 Square = 2
36 Square = 3
25 Square = 4
16 Square = 5
9 Square = 6
4 Square = 7
1 Square = 8
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90