/*题目描述 如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。
例如 3/4,1/8,7/1, 都是既约分数。
请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020) */
import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改
public class Main { public static void main(String[] args) { int count = 0; for (int i = 1;i <= 2020;i++){ for (int j = 1;j <= 2020;j++){ int a = i;//ab两者的最大数 int b = j;//ab的最小数 int c = 0; //这一步用辗转相除确定了,a是最大的,b后面是a/b的余数 //当b==0时,才证明两个数是互质的 while (b!=0){ int temp = a%b; a = b; b = temp; } //这个时候a是ab的最大公约数 if (a==1){ count++; }
}
}
System.out.println(count);
}
} /* 这个题的整体难度还好,是个很简单的题,主要在意一下辗转相除法就好了 */