Java歐拉函數的計算代碼詳解
歐拉函數
在數論,對正整數n,歐拉函數是小于或等于n的正整數中與n互質的數的數目(因此φ(1)=1)。此函數以其首名研究者歐拉命名(Euler's totient function),它又稱為Euler's totient function、φ函數、歐拉商數等。 例如φ(8)=4,因為1,3,5,7均和8互質。 從歐拉函數引伸出來在環(huán)論方面的事實和拉格朗日定理構成了歐拉定理的證明。 歐拉函數-百度百科.
前言
在數論,對正整數n,歐拉函數是小于n的正整數中與n互質的數的數目(因此φ(1)=1)。此函數以其首名研究者歐拉命名(Euler's totient function),它又稱為Euler's totient function、φ函數、歐拉商數等。 例如φ(8)=4,因為1,3,5,7均和8互質。 從歐拉函數引伸出來在環(huán)論方面的事實和拉格朗日定理構成了歐拉定理的證明。
話不多說,直接上代碼:
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

