자료구조 & 알고리즘

오일러 피

kyoulho 2024. 3. 3. 17:54

수학에서 오일러 피 함수 P[N] 의 정의는 1부터 N가지 범위에서 N과 서로소(공약수가 1뿐인 관계)인 자연수의 개수를 뜻한다.

 

오일러 피 함수 구현

public class EulerPhiFunction {
    public static void main(String[] args) {
        int n = 10; // 원하는 정수 n 값 입력

        int result = eulerPhi(n);
        System.out.println("Euler's Phi function for " + n + " is: " + result);
    }

    // 오일러 피 함수 구현
    public static int eulerPhi(int n) {
        int result = n;

        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                while (n % i == 0) {
                    n /= i;
                }
                result -= result / i;
            }
        }

        if (n > 1) {
            result -= result / n;
        }

        return result;
    }
}

 

'자료구조 & 알고리즘' 카테고리의 다른 글

힙정렬  (0) 2024.04.10
Kadane: 배열에서 최대 연속 부분 배열 합 구하기  (0) 2024.03.13
기수 정렬  (0) 2024.03.01
퀵정렬과 병합 정렬  (0) 2024.03.01
티켓 전략 게임  (0) 2024.02.23