最大公因数gcd题目列表

最大公因数(gcd)的求解方法

  • 辗转相除法:
   //求最大公因数递归算法,a,b之间没有大小的区别
   int gcd(int a, int b) {
      if(b == 0) {
          return a;
      }else {
        return gcd(b, a % b);
      }
   } 

   int gcd(int a, int b) {
      int change;
      while(b != 0) {
          change = a;
          a = b;
          b = change % b;
      }
      return a;
   }

既约分数

https://www.lanqiao.cn/problems/593/learning/?page=1&first_category_id=1&sort=students_count&name=分数

  • 代码:
#include <iostream>
using namespace std;

int gcd(int a, int b) {
    int change;
    while(b != 0) {
        change = a;
        a = b;
        b = change % b;
    }
    return a;
}

int main()
{
    // 请在此输入您的代码
    int n = 2020;
    int ans = 0;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= n; j++) {
            if(gcd(i, j) == 1) {
                ans++;
            }
            
        }
    }
    cout << ans;
    return 0;
}
posted @ 2023-10-31 15:41  铜锣湾陈昊男  阅读(7)  评论(0)    收藏  举报