728x90
반응형
< 문제 >
어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(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
< 풀이1 >
a,r,n = map(int, input().split())
for i in range(n-1):
a = a*r
print(a)
< 풀이2 >
a,r,n = map(int, input().split())
print(a*r**(n-1))
< 배운점 >
등차수열,등비수열이 뭔지 모르는 상태 였는데 문제를 풀고 다른풀이를 찾던 중 기초 공식을 알게됬다.
등차수열 = a+b*(n-1)
등비수열 = a*b**(n-1)
< 출처 >
728x90
반응형
'알고리즘 > Python' 카테고리의 다른 글
6091 : 함께 문제 푸는 날(Python 기초 100제) (0) | 2021.03.03 |
---|---|
6090 : 수 나열하기3(Python 기초 100제) (0) | 2021.03.03 |
6088 : 수 나열하기1(Python 기초 100제) (0) | 2021.03.03 |
6087 : 3의 배수는 통과(Python 기초 100제) (0) | 2021.03.03 |
6086 : 거기까지! 이제 그만~(Python 기초 100제) (0) | 2021.03.02 |
댓글