2024. 5. 28. 06:15ㆍ코딩 도구/백준
백준 1456 - 거의 소수
문제
https://www.acmicpc.net/problem/1456
1456번: 거의 소수
어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다.
www.acmicpc.net
답안 코드 :
생각 :
# 어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다.
# 문제 분석
# 최대 범위 안에 해당하는 모든 소수 구하고
# N 제곱값이 범위 안에 존재하는지 판단해서 문제 해결
# 10^14의 제곱근인 10^7까지 소수 탐색
# 에라토스테네스 체를 이용해서 소수 구하고
# 그 이후에 제곱값이 범위 안에 존재하는지 판별
# 문제 풀이
# 2 ~ B 범위 사이에 존재하는 모든 소수 구하기
# 각 소수를 N제곱한 값이 B보다 커질 때까지 반복문 실행
# 소수를 N제곱한 값이 A보다 크거나 같으면 거의 소수로 판단해서 카운트
# 실제 구현하다보면 N제곱한 값을 구하는 도중 값이 변수 표현 범위를 초과하는 경우가 발생
# 따라서 계싼 오류를 방지하려면 N^k 과 B 값이 아니라 N과 B / N ^ k-1 비교하는 형식으로 식을 정리
정수론 정리 글들
정수론 : 소수 구하기 에라토스테네스의 채
소수 소수 구하기의 핵심 이론 소수를 구하는 대표적인 판별법으로는 에라토스테네스의 체를 들 수 있다. 에라토스테네스의 체 원리는 다음과 같다. ① 구하고자 하는 소수의 범위만큼 1차원 리
mkisos.tistory.com
https://mkisos.tistory.com/entry/%EC%A0%95%EC%88%98%EB%A1%A0-%EC%98%A4%EC%9D%BC%EB%9F%AC-%ED%94%BC
정수론 : 오일러 피
오일러 피 오일러 피 함수 P[N]의 정의는 1부터 N까지 범위에서 N과 서로소인 자연수의 개수를 뜻한다. 오일러 피 함수는 증명 과정을 공부해야 완벽하게 알 수 있다고하지만 실제 코딩 테스트에
mkisos.tistory.com
정수론 : 유클리드 호제법
유클리드 호제법 유클리드 호제법 euclidean-algorithm은 두 수의 최대 공약수를 구하는 알고리즘이다. 일반적으로 최대 공약수를 구하는 방법은 소인수 분해를 이용한 공통된 소수들의 곱으로 표현
mkisos.tistory.com
정수론 : 확장 유클리드 호제법
확장 유클리드 호제법 유클리드 호제법의 목적이 두 수의 최대 공약수를 구하는 것이라면 확장 유클리드 호제법의 목적은 방정식의 해를 구하는 것이다. 확장 유클리드 호제법을 제대로 이해하
mkisos.tistory.com
'코딩 도구 > 백준' 카테고리의 다른 글
백준 1016 파이썬 에라토스테네스의 체 방식으로 제곱수의 배수 형태로 탐색 (25) | 2024.05.30 |
---|---|
백준 1747 파이썬 에라토스테네스의 체를 이용 팰린드롬 (20) | 2024.05.29 |
백준 1929 파이썬 에라토스테네스 체 (0) | 2024.05.27 |
백준 1541 파이썬 그리디 생각해내기 (22) | 2024.05.26 |
백준 1931 파이썬 회의실 배정 (24) | 2024.05.25 |