알고리즘 코딩테스트 핵심이론 강의 - 오일러피

이승민·2023년 6월 8일
0

알고리즘 공부

목록 보기
17/33

https://www.youtube.com/watch?v=Ha2QNsL9wXI&list=PLFgS-xIWwNVX-zm4m6suWC9d7Ua9z7fuT&index=26

📌 오일러 피 함수의 정의

  • 함수 P[N]의 정의는 1부터 N까지의 범위에서 N과 서로소인 자연수의 개수
    ex) P[6] = 1~6범위에서 6과 서로소인 자연수 개수 → 1, 5
    *서로소 : 공약수가 1이외에 없는 수

◾ 오일러 피 함수의 원리

  • 구하고자 하는 오일러의 피 범위만큼 배열을 자기 자신의 인덱스값으로 초기화
  • 2부터 시작해 현재 배열의 값과 인덱스가 같으면 (=소수일 때) 현재 선택 된 숫자(K)의 배수에 해당하는 수를 배열에서 끝까지 탐색하며 P[i] = P[i]-P[i]/K 연산을 수행한다 (i는 K의 배수)
  • 배열의 끝까지 반복하여 오일러 피 함수를 완성

1. 구하고자 하는 범위까지 배열을 생성 한 후 2를 선택

2. 2의 모든 배수마다 P[i] = P[i]-P[i]/2 연산을 수행해 값을 갱신

  • 예를들어 8 = 8 (8/2)

    → 2의 경우 2-(2/2) = 1 / 4의 경우 4 - (4/2) = 2 / ...

3. 소수 구하기에서 배수를 지우는 부분만 P[i] = P[i]-P[i]/K로 변경하면 오일러 피의 함수를 간단히 구현할 수 있다. N = φ(N) 인곳 (소수)를 찾아 값을 갱신


→ 3의 경우 3-(3/3) = 2 / 9의경우 9-(9/3) = 6 / 6의 경우 6-(6/3) = 4 ...

4. 배열이 끝날 때 까지 반복

0개의 댓글

관련 채용 정보