#include<iostream>
using namespace std;
//当b等于0时,说明上一次递归的a%b等于0,即上一次递归的b为最大公约数,即本次递归的a,所以返回a
int gcd(int a,int b)
{
return b == 0? a : gcd(b,a%b);//利用递归求最大公约数
}
int main()
{
int count = 0;
for(int i=1; i<=2020; i++)
{
if(gcd(i,2020) == 1)//调用求最大公约数的函数,如果最大公约数为1,则该数与2020互质,因为2020与2020最大公约数为2020,所以把2020排除
//if(gcd(i,2020) != 1) //如果最大公约数不等于1,说明该数与2020不互质
count++;//每得到一个数,数量加一
}
cout << count << endl;
return 0;
}
互质与不互质的判断
最新推荐文章于 2023-12-21 00:19:09 发布