下面是一个程序,当给定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