https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWvzGUKKPVwDFASy
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int>input(N);
for (int i = 0; i < N; i++)
cin >> input[i];
for (int i = 0; i < N; i++)
{
long long n = input[i];
cout << "#" << i + 1 << " " << 2 * n * n - 4 * n + 3 << " " << 2 * n * n - 1 << "\n";
}
return 0;
}
일반항을 구해서 제일 왼쪽은 2*n*n-4*n+3, 제일 오른쪽은 2*n*n-1으로 출력하였다.
문제의 왼쪽 수만 보면 1,3,9,19…다. 계차수열이다.
1 3 9 19 33
+2, +6, +10, +14. 4만큼 늘어나고 있다.
수열 An의 계차수열 Bn이라 한다면,
Bn=2+4(n-1)이다.
이것을 바탕으로 An의 일반항을 구할 수 있다.
'문제를 풀자' 카테고리의 다른 글
[프로그래머스] 124 나라의 숫자(파이썬/Python) (0) | 2022.08.11 |
---|---|
[프로그래머스] 신고 결과 받기(C++) (0) | 2022.06.22 |
[백준 #16563] 어려운 소인수분해(C++) (0) | 2022.05.31 |
[백준 #1929] 소수 구하기(에라토스테네스의 체)(C++) (0) | 2022.05.31 |
[백준 #1978] 소수 찾기(C++) (0) | 2022.05.30 |
댓글