Java欧拉函数的计算代码详解
欧拉函数
在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。 欧拉函数-百度百科.
前言
在数论,对正整数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欧拉函数的计算代码详解的详细内容,更多关于Java实现欧拉函数的资料请关注脚本之家其它相关文章!
相关文章
解决Process.getInputStream()阻塞的问题
这篇文章主要介绍了解决Process.getInputStream()阻塞的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
SpringMVC核心DispatcherServlet处理流程分步详解
这篇文章主要介绍了SpringMVC核心之中央调度器DispatcherServlet的相关知识,包括SpringMVC请求处理过程及SrpingMVC容器和spring IOC容器关系,需要的朋友可以参考下2023-04-04
SpringBoot集成Sharding-JDBC实现分库分表方式
这篇文章主要介绍了SpringBoot集成Sharding-JDBC实现分库分表方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07
Java C++题解leetcode902最大为N的数字组合数位DP
这篇文章主要为大家介绍了Java C++题解leetcode902最大为N的数字组合数位DP,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10


最新评论