CodeUp(코드업) 풀이 (1091번)

이 포스팅은 codeup.kr(코드업)의 문제를 Python3로 풀고 정리한 내용입니다.


1091 : [기초-종합] 수 나열하기3

문제 설명

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

예를 들어
1 -1 3 -5 11 -21 43 … 은 1부터 시작해 이전에 만든 수에 -2를 곱한 다음 1을 더해 다음 수를 만든 수열이다.

이런 이상한 수열을 알게 된 경곽이는 또 궁금해 졌다.

“그럼…. 13번째 나오는 수는 뭘까?”

경곽이는 물론 수학을 아주 잘 하지만 이런 문제는 본적이 거의 없었다…

그래서, 프로그램을 만들어 컴퓨터로 확인해 보고 싶어졌다.

시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째 인지를 나타내는 정수(n)가 입력될 때,

n번째 수를 출력하는 프로그램을 만들어보자.

입력

시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째 인지를 나타내는 정수(n)가 공백을 두고 입력된다.
(a, m, d는 -50 ~ 50, n은 10이하의 자연수)

출력

n번째로 만들어질 수를 출력한다.

입력 예시

1 -2 1 8

출력 예시

-85

내 풀이

while문을 이용한 풀이

1
2
3
4
5
6
7
8
9
10
11
a, m, d, n= input().split();
a = int(a);
m = int(m);
d = int(d);
n = int(n);

i = 1;
while i <= n-1:
a = a * m + d;
i+= 1;
print(a);

모범 답안

for문을 이용한 풀이

1
2
3
4
5
6
7
8
9
10
11
a,m,d,n=input().split()

A=int(a)
M=int(m)
D=int(d)
N=int(n)

for i in range(N-1) :
A = A*M+D

print(A)