-
백준 13909번 : 창문 닫기 (C 언어)c c++ 언어 공부 2023. 4. 24. 11:03
https://www.acmicpc.net/problem/13909
13909번: 창문 닫기
서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째
www.acmicpc.net
Code:
12345678910111213#include <stdio.h>int main(void){int n;int count = 0;scanf("%d", &n);for (int i = 1; i * i <= n; i++){count++;}printf("%d", count);}cs 문제풀이:
단순하게 시간초과 등 조건이 없으면 구할수는 있는 문제이다.
하지만 쉽게 생각해 보면 마지막에 열려 있기 위해서는 홀수번을 해야 열린상태로 남겨지게 된다.
각 수의 약수 만큼을 열었다 닫았다 하므로 홀수개의 약수가 있는 것은 제곱수들만 남게 된다.
이 제곱수의 개수를 체크하면 문제가 쉽게 해결된다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 15439번 : 베라의 패션(C 언어) (1) 2023.04.25 백준 24723번 : 녹색거탑(C 언어) (0) 2023.04.25 백준 2636번 : 치즈 (C 언어) (1) 2023.04.24 백준 2720번 : 세탁소 사장 동혁 (C 언어) (0) 2023.04.15 백준 24416번 : 알고리즘 수업 - 피보나치 수 1 (C 언어) (0) 2023.04.07