문제설명
입출력 예제
개념
N번 째 창문이 열려 있으려면, 열고 닫은 횟수가 홀수번이어야 한다. 따라서 N의 약수의 개수가 홀수개여야 하고, 이런 특성을 만족하는 것은 제곱수다.
- 약수는 두 수가 짝을 이루어 곱해지므로 자연수의 약수의 개수는 짝수지만, 제곱수는 자기 자신을 곱하는 수가 추가되므로 홀수가 된다.
따라서 주어진 범위 내의 제곱수의 개수를 구하면 문제를 해결할 수 있다.
풀이
#include <iostream>
int main()
{
int N, count = 0;
std::cin >> N;
for(int i = 1; i * i <= N; ++i)
count++;
std::cout << count;
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 26069 붙임성 좋은 총총이 with C++ (0) | 2023.05.03 |
---|---|
[백준] 25192 인사성 밝은 곰곰이 with C++ (0) | 2023.05.02 |
[백준] 17103 골드바흐 파티션 with C++ (0) | 2023.04.29 |
[백준] 4948 베르트랑 공준 with C++ (0) | 2023.04.28 |
[백준] 1929 소수 구하기 with C++ (0) | 2023.04.27 |