先看题目
分析
这个题目看起来就比较好下手,主要考察到最大公约数的知识点
看代码
#include<iostream>
#include<cmath>
using namespace std;
long long sum=0;
void check(int x,int y)
{
int t=min(x,y);
while(t>1)
{
if(x%t==0&&y%t==0) break;
t--;
}
if(t==1) sum++;
}
int main()
{
int i,j;
for(i=1;i<=2020;i++) //分子
for(j=1;j<=2020;j++) //分母
check(i,j);
cout<<sum;
return 0;
}
复杂度为n^2,运行时间稍微长一点,但是能做出来