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實現(xiàn)歐拉函數的資料請關注腳本之家其它相關文章!
相關文章
Java三種獲取redis的連接及redis_String類型演示(適合新手)
這篇文章主要介紹了Java三種獲取redis的連接及redis_String類型演示(適合新手),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Java?@SpringBootApplication注解深入解析
這篇文章主要給大家介紹了關于Java?@SpringBootApplication注解的相關資料,@SpringBootApplication這個注解是Spring?Boot項目的基石,創(chuàng)建SpringBoot項目之后會默認在主類加上,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-02-02Java?EasyExcel利用填充模版動態(tài)生成多個sheet頁
這篇文章主要為大家詳細介紹了Java?EasyExcel如何利用填充模版動態(tài)生成多個sheet頁,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-12-12Mybatis plus 配置多數據源的實現(xiàn)示例
這篇文章主要介紹了Mybatis plus 配置多數據源的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08使用java實現(xiàn)http多線程斷點下載文件(二)
下載工具我想沒有幾個人不會用的吧,前段時間比較無聊,花了點時間用java寫了個簡單的http多線程下載程序,我實現(xiàn)的這個http下載工具功能很簡單,就是一個多線程以及一個斷點恢復,當然下載是必不可少的,需要的朋友可以參考下2012-12-12