더보기
문제 링크
https://codeup.kr/problem.php?id=6088
📋 문제 설명
시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때n번째 수를 출력하는 프로그램을 만들어보자.
- 수열이란?
어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(Sequences)이라고 한다.
- 등차수열이란?
1 | 4 | 7 | 10 | 13 |
위의 수열은 1부터 시작해 이전에 만든 수에 3을 더해 다음 수를 만든 수열이다.
이러한 것을 수학에서는 앞뒤 수들의 차이가 같다고 하여 등차수열(Arithmetic progression/sequence)이라고 한다.
⌨️ 입력
시작 값(a), 등차의 값(d), 몇 번째 수 인지를 의미하는 정수(n)가 공백을 두고 입력된다. (모두 0 ~ 100)
🖥️ 출력
n번째 수를 출력한다.
📸 입력 예시
1 3 5
🖼️ 출력 예시
13
✏️ 풀이과정
a, d, n = input().split() #입력을 받아준다.
a = int(a) #시작 값
d = int(d) #등차의 값
n = int(n) #몇 번째 수 인지를 의미하는 값
for i in range(n-1): #몇 번째 수 인지를 의미하는 정수(n)-1을 해준다.
a += d #시작 값(a)에 등차의 값(d)를 더해준다.
print(a)
코드를 짜는 것 자체는 어렵지 않았는데, [몇 번째]라는 개념과 [몇 번]이라는 개념이 헷갈렸다.
처음에는 a에 n번을 d만큼 더해서 나오는 값으로 생각했다.
그러나 수열을 손으로 직접 써 보면, (a = 1, d = 3, n = 5)
1 | 4 | 7 | 10 | 13 | 16 |
으로 5번째의 값은 16이 아니라 13이다.
이는 시작 값(a)도 첫 번째 값으로 여겨지기 때문이다.
따라서 for문에 n-1를 한 이유도 마찬가지이다. (그냥 n을 적으면 6번째 값이 출력된다.)
'Programming Language > PYTHON' 카테고리의 다른 글
[빡공팟 5기] | 코드업 | 6096 : [기초-리스트] 바둑알 십자 뒤집기(py) (1) | 2022.09.25 |
---|---|
[빡공팟 5기] | 코드업 | 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py) (1) | 2022.09.23 |
[자료구조] - Python으로 스택 간단 구현하기 (0) | 2022.08.27 |
파이썬 소켓 프로그래밍 (0) | 2022.07.27 |
터틀 아트(Turtle Art) 그리기 (0) | 2022.05.17 |