문제

 

 

풀이

해당 문제의 규칙대로 반복할 시 아래 표와 같이 마지막에 열려 있는 창문들의 번호는 제곱수가 되므로 주어진 수 n이하의 제곱수의 개수를 구하면 된다.

사람 창문
1 (1, 1, 1, 1, 1, 1, 1, 1, 1, ...)
2 (1, 0, 1, 0, 1, 0, 1, 0, 1, ...)
3 (1, 0, 0, 0, 1, 1, 1, 0, 0, ...)
4 (1, 0, 0, 1, 1, 1, 1, 1, 0, ...)
5 (1, 0, 0, 1, 0, 1, 1, 1, 0, ...)
6 (1, 0, 0, 1, 0, 0, 1, 1, 0, ...)
7 (1, 0, 0, 1, 0, 0, 0, 1, 0, ...)
8 (1, 0, 0, 1, 0, 0, 0, 0, 0, ...)
9 (1, 0, 0, 1, 0, 0, 0, 0, 1, ...)
... ...

 

#include <iostream>

using namespace std;

int main() {
	long long n;
	int cnt = 0;

	cin >> n;

	for (int i = 1; i * i <= n; i++)
		cnt++;

	cout << cnt;

	return 0;
}

'백준 > 약수, 배수와 소수' 카테고리의 다른 글

17103번: 골드바흐 파티션 [C++]  (0) 2023.03.29
4948번: 베르트랑 공준 [C++]  (0) 2023.03.29
1929번: 소수 구하기 [C++]  (0) 2023.03.29
4134번: 다음 소수 [C++]  (0) 2023.03.29
2485번: 가로수 [C++]  (0) 2023.03.29

+ Recent posts