所有Java中小于或等于n的数字的Euler Totient函数

下面是一个程序,当给定n时,对于所有小于或等于n的数字,获取Euler的Totient函数的结果。

程序

import java.util.Scanner;

public class EulerTotient {

   public static int gcd(int a,int b){

      int i, hcf = 0;

         for(i = 1; i <= a || i <= b; i++) {

            if( a%i == 0 && b%i == 0 )

            hcf = i;

         }

         return hcf;

   }

   public static void main(String args[]){

      Scanner sc = new Scanner(System.in);

      System.out.println("输入n值:");

      int n = sc.nextInt();

     

      for (int i = 1; i <= n; i++){

         int x = 1;

         for (int j = 2; j < i; j++){

            if (gcd(j, n) == 1){

               x++;

            }

         }

         System.out.println(x);

      }

   }

}

输出结果

Enter the n value

10

1

1

1

2

2

2

2

3

3

4

以上是 所有Java中小于或等于n的数字的Euler Totient函数 的全部内容, 来源链接: utcz.com/z/321707.html

回到顶部