问题描述
请问在1到2020中,有多少个数与2020互质,即有多少个数与2020的最大公约数为1。
个人答案:
800
思路:
根据枚举,利用求最大公约数的函数__gcd来进行判断两个数的最大公约数是否为1
代码:
#include<iostream>
#include<algorithm> //调用__gcd函数的库函数
using namespace std;
int main()
{
int i,count=0,m; //i为枚举变量,count为计数器,m保存最大公约数
for(i=1;i<=2020;i++)
{
m=__gcd(i,2020);
if(m==1) //判断最大公约数是否为1,为1就进行记数
count++;
}
cout<<count<<endl;
return 0;
}