Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Jul 9, 2025

🧷 문제 링크

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

🧭 풀이 시간

15분

👀 체감 난이도

✏️ 문제 설명

A이상 B이하의 수 중에서 N과 서로소인 수의 개수를 구해보자.

🔍 풀이 방법

  • 포함 배제의 원리

문제를 살짝 바꿔서, 1이상 x이하인 수 중에서 N과 서로소인 수의 개수를 구해보자.
이를 f(x)라고 정의한다.

어떤 수가 N과 서로소라는 것은, 두 수를 소인수분해했을 때 공통 소인수가 없다는 뜻이다.
그래서 반대로 생각하면, f(x)를 구할 때 (전체 개수) - (N과 서로소가 아닌 수의 개수) 처럼 구해줬다.

N과 서로소가 아닌 수의 개수는 N을 소인수분해한 뒤에 그 결과에 포함된 소수들로 포함 배제의 원리를 이용해 구할 수 있다. 결과 소수의 개수가 $O(\log{N})$이라 시간 내에 돌아간다.

⏳ 회고

재밌따

@oncsr oncsr self-assigned this Jul 9, 2025
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Jul 9, 2025
@ShinHeeEul ShinHeeEul merged commit eba88a7 into main Jul 9, 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