上一题:蓝桥杯2020年真题演练——1、门牌制作(JavaA组)
题目描述
答案:2481215
题目解析
⭐⭐又是暴力枚举,直接双重循环,i,j分别作为分子和分母,把所有的情况都检查一遍,符合条件的进行统计就可以了。所以关键是如何判断它是一个既约分数,这里用到辗转相除法求最大公约数,如果分子分母的最大公约数是1,它就是既约分数,否则不是。
代码解析
public class Main {
public static void main(String[] args) {
int count=0;
for (int i = 1; i < 2021; i++) {
for (int j = 1; j < 2021; j++) {
if(gcd(i,j)==1){
count++;
}
}
}
System.out.println(count);
}
//求最大公约数
public static int gcd(int m,int n){
return m%n==0?n:gcd(n,m%n);
}
}