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實現歐拉函數的資料請關注腳本之家其它相關文章!
相關文章
Java三種獲取redis的連接及redis_String類型演示(適合新手)
這篇文章主要介紹了Java三種獲取redis的連接及redis_String類型演示(適合新手),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Java?@SpringBootApplication注解深入解析
這篇文章主要給大家介紹了關于Java?@SpringBootApplication注解的相關資料,@SpringBootApplication這個注解是Spring?Boot項目的基石,創(chuàng)建SpringBoot項目之后會默認在主類加上,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-02-02
Java?EasyExcel利用填充模版動態(tài)生成多個sheet頁
這篇文章主要為大家詳細介紹了Java?EasyExcel如何利用填充模版動態(tài)生成多個sheet頁,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-12-12

