亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++求最大公約數(shù)四種方法解析

 更新時(shí)間:2020年09月17日 14:06:59   作者:時(shí)光zz  
這篇文章主要為大家詳細(xì)介紹了C++求最大公約數(shù)四種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

C++求最大公約數(shù)的四種方法思路,供大家參考,具體內(nèi)容如下

將最近學(xué)的求最大公約數(shù)的四種方法總結(jié)如下:

第一種:窮舉法之一

解釋:拿其中一個(gè)數(shù)出來(lái),用一個(gè)臨時(shí)變量(tem)保存,每次都把那兩個(gè)數(shù)除以這個(gè)臨時(shí)變量。如果能除斷,直接返回tem;如果不能除斷,tem- -,直到都能除斷,再返回tem。tem就是它們的最大公約數(shù)。

#include <iostream>
using namespace std;
int CommFactor1(int m, int n); //函數(shù)的聲明
int main()
{
 int a, b;
 cin >> a >> b;
 cout << "這兩個(gè)數(shù)的最大公約數(shù)為:" << CommFactor1(a,b)<< endl;
 return 0;
}
int CommFactor1(int m,int n)
{
 int tem;
 for (tem = m;; tem--)
 {
 if (m % tem == 0 && n % tem == 0)
 {
  break;
 }
 }
 return tem;
}

第二種:窮舉法之二

解釋:求出兩數(shù)的所有公因子,再把公因子累乘得到最大公約數(shù)。

#include <iostream>
using namespace std;
int CommFactor2(int m, int n); //函數(shù)的聲明
int main()
{
  int a, b;
  cin >> a >> b;
  cout << "這兩個(gè)數(shù)的最大公約數(shù)為:" << CommFactor2(a,b)<< endl;
  return 0;
}
int CommFactor2(int m,int n)
{
  int i;
  int factor = 1;
  for (i=2;i<=m&&i<<n;i++)
  {
    while(m % i == 0 && n % i == 0)  //這里不能用if語(yǔ)句,因?yàn)榭赡軙?huì)有重復(fù)的公因子
    {
      factor = factor * i;
      m = m / i;
      n = n / i;
    }
  }
  return factor;
}

第三種:輾轉(zhuǎn)相除法

解釋:將兩個(gè)數(shù)輾轉(zhuǎn)相除直到余數(shù)為0。(具體思想請(qǐng)問(wèn)度娘)

#include <iostream>
using namespace std;
int CommFactor3(int m, int n); //函數(shù)的聲明
int main()
{
 int a, b;
 cin >> a >> b;
 cout << "這兩個(gè)數(shù)的最大公約數(shù)為:" << CommFactor2(a,b)<< endl;
 return 0;
}
int CommFactor3(int m,int n)
{
 int z = n;
 while (m % n != 0)
 {
 z = m % n;
 m = n;
 n = z;
 }
 return z;
}

第四種:輾轉(zhuǎn)相減法

解釋:將兩個(gè)數(shù)輾轉(zhuǎn)相減直到兩數(shù)相等。(具體思想請(qǐng)問(wèn)度娘)

#include <iostream>
using namespace std;
int CommFactor4(int m, int n); //函數(shù)的聲明
int main()
{
 int a, b;
 cin >> a >> b;
 cout << "這兩個(gè)數(shù)的最大公約數(shù)為:" << CommFactor4(a,b)<< endl;
 return 0;
}
int CommFactor4(int m,int n)
{
 
 while (m != n)
 {
 if (m > n)
 {
 m = m - n;
 }
 else
 {
 n = n - m;
 }
 }
 return m;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序)

    C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言學(xué)習(xí)之條件和?if...else語(yǔ)句詳解

    C語(yǔ)言學(xué)習(xí)之條件和?if...else語(yǔ)句詳解

    這篇文章主要給大家介紹了C語(yǔ)言中的條件和?if...else語(yǔ)句,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • C語(yǔ)言位運(yùn)算符的具體使用

    C語(yǔ)言位運(yùn)算符的具體使用

    位運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問(wèn)題。本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-09-09
  • Qt中JSON使用的詳細(xì)步驟

    Qt中JSON使用的詳細(xì)步驟

    本文主要介紹了Qt中JSON使用的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • C++計(jì)算任意權(quán)值的單源最短路徑(Bellman-Ford)

    C++計(jì)算任意權(quán)值的單源最短路徑(Bellman-Ford)

    這篇文章主要為大家詳細(xì)介紹了C++計(jì)算任意權(quán)值的單源最短路徑,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Qt實(shí)現(xiàn)網(wǎng)易云音樂(lè)進(jìn)度條效果

    Qt實(shí)現(xiàn)網(wǎng)易云音樂(lè)進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)網(wǎng)易云音樂(lè)進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • c語(yǔ)言的cps實(shí)現(xiàn)求fibonacci數(shù)列示例

    c語(yǔ)言的cps實(shí)現(xiàn)求fibonacci數(shù)列示例

    這篇文章主要介紹了c語(yǔ)言的cps實(shí)現(xiàn)求fibonacci數(shù)列示例,需要的朋友可以參考下
    2014-03-03
  • 關(guān)于C++一些特性的探究

    關(guān)于C++一些特性的探究

    下面小編就為大家?guī)?lái)一篇關(guān)于C++一些特性的探究。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • C++函數(shù)模板的使用詳解

    C++函數(shù)模板的使用詳解

    大家好,本篇文章主要講的是C++函數(shù)模板的使用詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C語(yǔ)言深入探究程序的編譯之預(yù)處理

    C語(yǔ)言深入探究程序的編譯之預(yù)處理

    在C語(yǔ)言的程序中包括各種以符號(hào)#開(kāi)頭的編譯指令,這些指令稱為預(yù)處理命令。預(yù)處理命令屬于C語(yǔ)言編譯器,而不是C語(yǔ)言的組成部分,通過(guò)預(yù)處理命令可擴(kuò)展C語(yǔ)言程序設(shè)計(jì)的環(huán)境
    2022-05-05

最新評(píng)論