Algorithm/백준

[백준] 13909 창문 닫기 with C++

nowkoes 2023. 5. 1. 01:36

문제설명


입출력 예제


개념

 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;
}

 

반응형