본문 바로가기
알고리즘/Python

6089 : 수 나열하기2(Python 기초 100제)

by yhyuk 2021. 3. 3.
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)

 

< 출처 >

codeup.kr/problem.php?id=6089

 

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

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

 

728x90
반응형

댓글