문제 : www.acmicpc.net/problem/2922
<풀이>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
long long input;
cin >> input;
int N = ((-3 + (sqrt(12 * input - 3))) / (6));
if (input == 6 * (((N * (N + 1)) / 2)) + 1) { printf("%d\n", N + 1); }
else { printf("%d\n", N + 2); }
return 0;
}
<어떻게 풀었는가>
이거 백퍼 이렇게 푸는거 아닐텐데......ㅋㅋㅋㅋㅋㅋㅋ
이리저리 복잡하게 설명해놨지만 결국 근의 공식을 이용하여 n의 값을 찾고
n과 n의 합을 이용하여 입력값의 위치를 찾는 문제였다.
'백준 > C++' 카테고리의 다른 글
[백준/C++] 2755번 부녀회장이 될테야 (0) | 2020.11.14 |
---|---|
[백준/C++] 2869번 달팽이는 올라가고 싶다 (0) | 2020.11.08 |
[백준/C++] 5622번 다이얼 (0) | 2020.11.07 |
[백준/C++] 1316번 그룹 단어 체커 (0) | 2020.11.07 |
[백준/C++] 2941번 크로아티아 알파벳 (0) | 2020.11.07 |
댓글