本篇文章小编给大家分享一下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); } }