Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Oct 3, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/11692

🧭 풀이 시간

45분

👀 체감 난이도

✏️ 문제 설명

1이상 N이하의 수 중, 약수의 합이 짝수인 수의 개수를 구해보자.

🔍 풀이 방법

  • 에라토스테네스의 체
  • 백트래킹

홀수인 개수를 구해서 전체에서 빼기

약수 중 홀수의 개수가 짝수개
-> 소인수분해 했을 때 2가 아닌 것들로만 개수 구하기

N = 2^m * a1^p1 * a2^p2 * ...
라고 하면, N의 홀수인 약수의 개수는 (p1+1) * (p2+1) * ...
이게 홀수이려면 pk+1 이 모두 홀수여야 함. == pk가 모두 짝수여야 함.

-> 소인수분해의 결과가, 2를 제외한 다른 소수들은 모두 짝수번 곱해져있는 꼴이어야 함.

1부터 출발해서 DFS느낌으로 백트래킹, 수가 크니까 HashSet으로 중복 방지

⏳ 회고

시간 초과가 나야 하는 풀이같은데 억지로 뚫은 느낌...
개어려운데 왜 골드지

@oncsr oncsr self-assigned this Oct 3, 2025
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Oct 3, 2025
@ShinHeeEul ShinHeeEul merged commit 56923b8 into main Oct 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants