题目描述(本题考验辗转相除法求gcd)
如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。
例如\frac{3}{4},\frac{5}{2},\frac{1}{8},\frac{7}{1}43?,25?,81?,17?都是既约分数。
请问,有多少个既约分数,分子和分母都是1 到2020 之间的整数(包括1和2020)?
输出格式
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int ans;
int gcd(int i, int j)
{return j == 0 ? i : gcd(j, i % j);
}
int main()
{for(int i = 1; i <= 2020; i++){for(int j = 1; j <= 2020; j++){if(gcd(i , j) == 1)ans++;}}cout << ans;return 0;
}