문제풀이/백준
2292 - 벌집
동바리
2021. 8. 24. 14:55
#include <iostream>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int num;
cin >> num;
if (num == 1) {
cout << 1 << '\n';
return 0;
}
int sum = 0;
for (int i = 1; ; i++) {
sum += 6 * i;
if (num <= sum + 1) {
cout << i + 1 << '\n';
return 0;
}
}
return 0;
}
쉽게 풀기 위해서 1은 예외처리해두었다.
방의 개수는 n <= 1+6; -> 2개
n <= 1+6+12 -> 3개
n <= 1+6+12+18 -> 4개
위의 규칙으로 방의 갯수는 정해진다.
6만큼 늘어나는 등차수열을 생각하며 풀면 쉽다.
문제 :