Java教程

Java实现欧拉函数的计算

本文主要是介绍Java实现欧拉函数的计算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(因此φ(1)=1)。此函数以其首名研究者欧拉命名(Euler’s totient function),它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。

话不多说,直接上代码:

package com.qlu.java1;

import java.util.Scanner;

/**
 * 1.欧拉函数求解
 *
 * @author Dxkstart
 * @create 2021-05-28 13:32
 */
public class EulerTest {
    public static void main(String[] args) {
        Euler e = new Euler();
        e.euler();
    }
}

class Euler {
    int num;//最大公因数
    int eul;//欧拉函数值

    //求gcd
    public int gcd(int m, int b) {

        for (int i = (m - 1); i > 0; i--) {
            if (m % i == 0 && b % i == 0) {
                num = i;
                break;
            }
        }
        return num;
    }

    //求欧拉函数
    public void euler() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要求的欧拉函数:");
        int m = scanner.nextInt();

        for (int j = 1; j < m; j++) {
            if (gcd(m, j) == 1) {
                eul++;
            }
        }

        System.out.println("欧拉函数值为:" + eul);
    }
}

这篇关于Java实现欧拉函数的计算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!