알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 오일러 피

2023. 12. 9. 17:22·ALGORITHM

07-2 오일러 피

오일러 피 함수 P(N) = 1부터 N까지 범위에서 N과 서로소인 자연수의 개수

ex) P[6] = 1~6 범위에서 6과 서로소(공약수가 1이외에 없는 것)인 자연수 개수 

P[6] = 2 (1, 5 => 2개)

 

오일러 피의 핵심 이론

오일러 피 함수의 원리(에라토스테네스의 체와 비슷)

1. 구하고자 하는 오일러 피의 범위만큼 자기 자신의 인덱스값으로 초기화한다.

2. 2부터 시작해 현재 배열의 값과 인덱스과 같으면(=소수라면) 현재 선택된 숫자(K)의 배수에 해당하는 수를 배열에 끝까지 탐색하여 P[i] = P[i] - P[i]/K 연산을 수행한다. (i는 K의 배수)

3. 배열의 끝까지 2를 반복하여 오일러 피 함수를 완성한다.

 

ex)

 

반응형

'ALGORITHM' 카테고리의 다른 글

알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 최소공배수 구하기  (1) 2023.12.22
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 유클리드 호제법  (1) 2023.12.22
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 소수 구하기  (0) 2023.12.09
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 그리디 알고리즘  (0) 2023.12.09
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 이진 탐색  (2) 2023.12.08
'ALGORITHM' 카테고리의 다른 글
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 최소공배수 구하기
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 유클리드 호제법
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 소수 구하기
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 그리디 알고리즘
진미
진미
  • 진미
    ABC
    진미
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • PROJECT (3)
      • ALGORITHM (43)
      • STUDY (3)
        • 리액트 (7)
        • 파이썬 (2)
      • 기타 (5)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 설정
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
진미
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 오일러 피
상단으로

티스토리툴바