Java歐拉函數(shù)的計算代碼詳解
歐拉函數(shù)
在數(shù)論,對正整數(shù)n,歐拉函數(shù)是小于或等于n的正整數(shù)中與n互質(zhì)的數(shù)的數(shù)目(因此φ(1)=1)。此函數(shù)以其首名研究者歐拉命名(Euler's totient function),它又稱為Euler's totient function、φ函數(shù)、歐拉商數(shù)等。 例如φ(8)=4,因為1,3,5,7均和8互質(zhì)。 從歐拉函數(shù)引伸出來在環(huán)論方面的事實和拉格朗日定理構(gòu)成了歐拉定理的證明。 歐拉函數(shù)-百度百科.
前言
在數(shù)論,對正整數(shù)n,歐拉函數(shù)是小于n的正整數(shù)中與n互質(zhì)的數(shù)的數(shù)目(因此φ(1)=1)。此函數(shù)以其首名研究者歐拉命名(Euler's totient function),它又稱為Euler's totient function、φ函數(shù)、歐拉商數(shù)等。 例如φ(8)=4,因為1,3,5,7均和8互質(zhì)。 從歐拉函數(shù)引伸出來在環(huán)論方面的事實和拉格朗日定理構(gòu)成了歐拉定理的證明。
話不多說,直接上代碼:
package com.qlu.java1;
import java.util.Scanner;
/**
* 1.歐拉函數(shù)求解
*
* @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;//最大公因數(shù)
int eul;//歐拉函數(shù)值
//求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;
}
//求歐拉函數(shù)
public void euler() {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入要求的歐拉函數(shù):");
int m = scanner.nextInt();
for (int j = 1; j < m; j++) {
if (gcd(m, j) == 1) {
eul++;
}
}
System.out.println("歐拉函數(shù)值為:" + eul);
}
}
以上就是Java歐拉函數(shù)的計算代碼詳解的詳細(xì)內(nèi)容,更多關(guān)于Java實現(xiàn)歐拉函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java三種獲取redis的連接及redis_String類型演示(適合新手)
這篇文章主要介紹了Java三種獲取redis的連接及redis_String類型演示(適合新手),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Java?@SpringBootApplication注解深入解析
這篇文章主要給大家介紹了關(guān)于Java?@SpringBootApplication注解的相關(guān)資料,@SpringBootApplication這個注解是Spring?Boot項目的基石,創(chuàng)建SpringBoot項目之后會默認(rèn)在主類加上,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
Java?EasyExcel利用填充模版動態(tài)生成多個sheet頁
這篇文章主要為大家詳細(xì)介紹了Java?EasyExcel如何利用填充模版動態(tài)生成多個sheet頁,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
Mybatis plus 配置多數(shù)據(jù)源的實現(xiàn)示例
這篇文章主要介紹了Mybatis plus 配置多數(shù)據(jù)源的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
使用java實現(xiàn)http多線程斷點下載文件(二)
下載工具我想沒有幾個人不會用的吧,前段時間比較無聊,花了點時間用java寫了個簡單的http多線程下載程序,我實現(xiàn)的這個http下載工具功能很簡單,就是一個多線程以及一個斷點恢復(fù),當(dāng)然下載是必不可少的,需要的朋友可以參考下2012-12-12

