백준 11689 파이썬 오일러 피
2024. 5. 31. 06:26ㆍ코딩 도구/백준
반응형
백준 11689 - GCD(n, k) = 1
문제
https://www.acmicpc.net/problem/11689
답안 코드 :
import math
N = int(input())
result = N
for p in range(2, int(math.sqrt(N)) + 1): # 제곱근까지만 진행
if N % p == 0: # p가 소인수인지 확인
result -= result / p # 결괏값 업데이트
while N % p == 0: # 2의 7승*11이라면 2의 7승을 없애고 11만 남김
N /= p
if N > 1: # 반복문에서 제곱근까지만 탐색했으므로 1개의 소인수가 누락되는 케이스 처리
result -= result / N
print(int(result))
생각 :
# 문제 분석
# 자연수 n이 주어졌을 때, GCD(n, k) = 1을 만족하는 자연수 1 ≤ k ≤ n 의 개수를 구하는 프로그램
# 이게 바로 오일러 피 함수의 정의 이다
# 문제 풀이
# 오일러 피 함수 구현하면 되겠지
정수론 정리 글들
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
반응형
'코딩 도구 > 백준' 카테고리의 다른 글
백준 1850 파이썬 최대 공약수를 유클리드 호제법 (17) | 2024.06.02 |
---|---|
백준 1934 파이썬 유클리드 호제법 (20) | 2024.06.01 |
백준 1016 파이썬 에라토스테네스의 체 방식으로 제곱수의 배수 형태로 탐색 (25) | 2024.05.30 |
백준 1747 파이썬 에라토스테네스의 체를 이용 팰린드롬 (20) | 2024.05.29 |
백준 1456 파이썬 거의 소수 (1) | 2024.05.28 |