C & C++/BOJ
[백준] 1731번: 추론
와금
2021. 3. 3. 17:52
728x90
1731번: 추론
등차가 정수인 등차수열 (어떤 수에 차례대로 일정한 수를 더해서 이루어지는 수열) 은 2개의 숫자로 나타낼 수 있다. P는 수열의 첫 번째 수이고, Q는 그 다음수가 되기 위해 바로 전의 수에 더해
www.acmicpc.net
코드
#include <stdio.h>
main() {
int n, p[50]; //n: 수열의 길이, p: 수열
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &p[i]);
if (p[1] - p[0] == p[2] - p[1]) //등차수열인 경우
printf("%d", p[n - 1] + (p[1] - p[0]));
else //등비수열인 경우
printf("%d", p[n - 1] * (p[1] / p[0]));
}
설명
n을 입력받고, for문을 이용해 n개의 숫자를 배열 p에 저장한다.
수열의 두 번째 숫자와 첫 번째 숫자의 차가 세 번째 숫자와 두 번째 숫자의 차와 같으면 등차수열이므로 수열의 마지막 숫자에 공차를 더한 값을 출력한다.
문제에서 입력값이 등차수열이나 등비수열 중 하나라고 했으므로 else문은 등비수열인 경우로 생각하면 되고, 수열의 마지막 숫자에 공비를 곱한 값을 출력한다.
728x90