思路
枚举分子1~2000,对于每个分子枚举所有可能的分母,检查该分数:是否分子分母最大公约数是1,利用辗转相除法。
代码
#include <bits/stdc++.h>
using namespace std;
int ans = 0;
void check(int i, int j){
if(i < j) swap(i,j);
while(j != 1){
if(i % j == 0) return;
int tmp = j;
j = i%j;
i = tmp;
}
++ans;
}
int main()
{
for(int i =1;i<=2020;i++){
for(int j = 1;j<=2020;j++){
check(i,j);
}
}
cout<< ans <<endl;
return 0;
}
//2481215