对分查找、欧几里得算法求最大公约数

简介: 对分查找、欧几里得算法求最大公约数

对分查找

  int BinarySearch(const int A[], int x, int N)
  {
     int low, mid, high;
     low = 0, high = N - 1;
     while(low <= high)
     {
        mid = (low + high) / 2;
        if(A[mid] < x)
           low = mid + 1;
       else
          if(A[mid] > x)
          high = mid - 1;
       else
          return mid;
    }
    return NotFound;
 }

欧几里得算法求最大公因数:

  unsigned Gcd(unsigned int M, unsigned int N)
  {
     unsigned int Rem;
     while(N > 0)
     {
        Rem = M % N;
        M = N;
        N = Rem;
     }
    return M;
 }


目录
打赏
0
0
0
0
13
分享
相关文章
|
10月前
|
求最大公约数和最小公倍数的算法
求最大公约数和最小公倍数的算法
105 0
|
7月前
【刷题记录】最大公因数,最小公倍数(辗转相除法、欧几里得算法)
【刷题记录】最大公因数,最小公倍数(辗转相除法、欧几里得算法)
什么是扩展欧几里得算法?
【5月更文挑战第13天】什么是扩展欧几里得算法?
156 3
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
|
10月前
|
Python欧几里得算法找最大公约数
Python欧几里得算法找最大公约数
96 0
C语言第二十二练——扩展欧几里得算法
C语言第二十二练——扩展欧几里得算法
81 0
欧几里得算法
欧几里得算法(Euclidean algorithm)是一种计算两个数的最大公约数(Greatest Common Divisor,简称 GCD)的算法。欧几里得算法的基本思想是通过辗转相除的方式,将两个数逐步缩小,直到它们的公约数为止。欧几里得算法的时间复杂度为 O(log n)。
284 1
P4057 [Code+#1]晨跑(数学分析,辗转相除法模板(欧几里得算法))
P4057 [Code+#1]晨跑(数学分析,辗转相除法模板(欧几里得算法))
89 0

热门文章

最新文章