試題B: 既約分數
本題總分:5 分
【問題描述】
如果一個分數的分子和分母的最大公約數是1,這個分數稱為既約分數。例如,3/4 , 5/2 , 1/8 , 7/1都是既約分數。請問,有多少個既約分數,分子和分母都是1 到2020 之間的整數(包括1和2020)?
【答案提交】
這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。
答案:2481215
#include<iostream>
#include<cstring>
#include<string.h>
using namespace std;
int gcd(int a,int b)
{
if(b==0)
return a;
else
return gcd(b,a%b);
}
int main()
{
/*試題B: 既約分數
如果一個分數的分子和分母的最大公約數是1,這個分數稱為既約分數。
例如,3/4 , 5/2 , 1/8 , 7/1都是既約分數。請問,有多少個既約分數,
分子和分母都是1 到2020 之間的整數(包括1和2020)?
*/
int sum=0;
for(int i=1;i<=2020;i++)
for(int j=1;j<=2020;j++)
{
if(gcd(i,j)==1)
sum++;
}
cout<<sum<<endl;
return 0;
}