Python/CodeUp

코드업 기초 100제 89번 - 수 나열하기1

Lami 2021. 11. 22. 22:38

어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(series)이라고 한다.

예를 들어 1 4 7 10 13 16 19 22 25 ... 은 1부터 시작해 이전에 만든 수에 3을 더해 다음 수를 만든 수열이다.

이러한 것을 수학에서는 앞뒤 수들의 차이가 같다고 하여 등차(차이가 같다의 한문 말) 수열이라고 한다.
수열을 알게 된 영일이는 갑자기 궁금해졌다.

"그럼.... 123번째 나오는 수는 뭘까?"

영일이는 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.

시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때 n번째 수를 출력하는 프로그램을 만들어보자.

입력
시작 값(a), 등차의 값(d), 몇 번째 수 인지를 의미하는 정수(n)가 공백을 두고 입력된다.(모두 0 ~ 100)

1 3 5

출력
n번째 수를 출력한다.

13

 

<풀이>

더보기

내가 쓴 풀이

a, d, n = map(int, input().split())

result = a
count = 0

while count < n-1:
    count += 1
    result += d

print(result)

 

강의 풀이

a, d, n = map(int, input().split())

i = a
count = 0
arith = []
while count < n:
    arith.append(i)
    i += d
    count += 1
print( arith[-1] )

 

<풀이 비교>

강의에서는 리스트를 사용하고 출력할 때 맨 마지막 요소를 출력하도록 했다.

강의에서는 범위 안에 해당되는 값만 리스트에 넣었지만, 나는 값을 계속 추가하며 더하는 거라 n-1까지 해야 했다.