题目:请问在 1 到 2020 中,有多少个数与 2020 互质,即有多少个数 与 2020 的最大公约数为 1。
1和任何自然数互质,1不是质数。
public calss Main(){
public static void main(string[] args){
int count = 0; // 计数
int a = 2020;
for(int i = 1; i <= 2020; i++){
if(GCD(a,i) == 1){ // 最大公约数为1两个是互质
count++;
}
}
}
// 求出两个数的最大公约数
public int GCD(int m,int n){
// 确保被除数比除数大
if(m < n){
int temp = m;
m = n;
n = temp;
}
// 在余数不能为0时进行循环
// 余数为0表示找到最大公约数
while(m%n != 0){
m = n;
n = m%n;
}
return n;
}
}
count = 800;