https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWvzGUKKPVwDFASy
반복문 쓸 필요도 없고, 그냥 점화식 세워서 문제 풀어버리면 된다.
c++)
#include <iostream>
using namespace std;
int main() {
unsigned long long int test, i;
cin >> test;
for (int j = 1; j <= test; j++){
cin >> i;
if (i == 1){
cout << '#' << j << " " << 1 << " " << 1 << endl;
}
else{
unsigned long long int left = 2 * (i - 1) * (i - 1) + 1;
unsigned long long int right = 2 * i * i - 1;
cout << '#' << j << " " << left << " " << right << endl;
}
}
return 0;
}
python)
T = int(input()) # 테스트 케이스의 수
for j in range(1, T + 1):
i = int(input())
if i == 1:
print(f"#{j} {1} {1}")
else:
left = 2 * (i - 1)**2 + 1
right = 2 * (i)**2 - 1
print(f"#{j} {left} {right}")
'Computer Science > 알고리즘' 카테고리의 다른 글
[알고리즘 - Python] BOJ 7450 (2) | 2022.06.12 |
---|---|
[알고리즘 - 이론] The Traveling Salesperson Problem : TSP (외판원 문제) (2) | 2022.06.10 |
[알고리즘 - Python] BOJ 16563 (0) | 2022.06.10 |
[알고리즘 - Python] BOJ 1929 (0) | 2022.06.10 |
[알고리즘 - Python] BOJ 1978 (0) | 2022.06.10 |