프로그래밍 문제 풀이/코드업(파이썬)

코드업[CodeUp] Python 기초 100제 [6089번]

태은코딩 2024. 1. 15. 09:11

6089 : [기초-종합] 수 나열하기2(py)

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

예를 들어
2 6 18 54 162 486 ... 은
2부터 시작해 이전에 만든 수에 3을 곱해 다음 수를 만든 수열이다.

이러한 것을 수학에서는 앞뒤 수들의 비율이 같다고 하여
등비(비율이 같다의 한문 말) 수열이라고 한다. (등비수열 : geometric progression/sequence)

등비 수열을 알게된 영일이는 갑자기 궁금해졌다.
"그럼.... 13번째 나오는 수는 뭘까?"
영일이는 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.

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

 

입력값
시작 값(a), 등비의 값(r), 몇 번째 인지를 나타내는 정수(n)가
공백을 두고 입력된다.(모두 0 ~ 10)
출력값
n번째 수를 출력한다.

 

입력 예시
2 3 7
출력 예시
1458

 

정답 및 가능한 정답

a,r,n=map(int,input().split())
result=a*r**(n-1)
print(result)
a, r, n = map(int,input().split())
for i in range(2, n+1) :
  a = a*r

print(a)

 

해설

등비수열은 시작 값 a, 등비 값 r, 몇 번째 수 n에 대하여 a*r**(n-1)이다.
print(a*r**(n-1))를 출력하면 된다.

아니면 for 문으로 작성한다. n=1일 때는 초깃값 a만 있으니까 n=2일 때부터 r을 곱하도록 for 문 범위를 range(2, n+1)로 설정해서 a=a*r 을 반복한다.