国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - 遞歸法求最大公約數和最小公倍數的實現代碼

遞歸法求最大公約數和最小公倍數的實現代碼

2020-11-27 15:15C語言教程網 C/C++

今天整理了一下用遞歸法求最大公約數(gcd)和最小公倍數(lcm)。主要的工作是求最大公約數。數學上可以用輾轉法求最大公約數

       數學原理:

       設有兩個數num1和num2,假設num1比較大。令余數r = num1 % num2。
       當r == 0時,即num1可以被num2整除,顯然num2就是這兩個數的最大公約數。
       當r != 0時,令num1 = num2(除數變被除數),num2 = r(余數變除數),再做 r = num1 % num2。遞歸,直到r == 0。
       以上數學原理可以用具體的兩個數做一下分析,這樣容易理解。

代碼實現(求最大公約數):

復制代碼 代碼如下:


#include <iostream>
using namespace std;

 

int gcd(int a, int b);//聲明最大公約數函數

int main()
{
    int num1 = 1;
    int num2 = 1;   
    cin >> num1 >> num2;
    while(num1 == 0 || num2 == 0)//判斷是否有0值輸入,若有則重新輸入
    {
        cout << "input error !" << endl;
        cin >> num1 >> num2;
    }
    cout << "The gcd of " << num1 << " and " << num2 << " is: " << gcd(num1, num2) << endl;//調用最大公約數函數
    return 0;
}

int gcd(int a, int b)//函數定義
{
    int max = a > b ? a : b;
    int min = a < b ? a : b;
    a = max;
    b = min;
    int r = a % b;
    if(0 == r)//若a能被b整除,則b就是最大公約數。
        return b;
    else
        return gcd(b, r);//遞歸   
}


最小公倍數的求法建立在求最大公約數的方法之上。因為最小公倍數等于兩個數的積除以最大公約數。

代碼實現(求最小公倍數):

復制代碼 代碼如下:


#include <iostream>
using namespace std;

 

int gcd(int a, int b);//聲明最大公約數函數

int main()
{
    int num1 = 1;
    int num2 = 1;   
    int lcm = 1;
    cin >> num1 >> num2;
    while(num1 == 0 || num2 == 0)//判斷是否有0值輸入,若有則重新輸入
    {
        cout << "input error !" << endl;
        cin >> num1 >> num2;
    }
    lcm = num1 / gcd(num1, num2) * num2;//先除后乘可以在一定程度上防止大數
    cout << "The lcm of " << num1 << " and " << num2 << " is: " << lcm << endl;
    return 0;
}

int gcd(int a, int b)//函數定義
{
    int max = a > b ? a : b;
    int min = a < b ? a : b;
    a = max;
    b = min;
    int r = a % b;
    if(0 == r)//若a能被b整除,則b就是最大公約數。
        return b;
    else
        return gcd(b, r);//遞歸   
}


以上是僅僅限與求兩個書的最大公約數和最小公倍數,當數字有很多時,該法是否依然適用,還有待考證。

延伸 · 閱讀

精彩推薦
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 午夜视频导航 | 中文字幕精品一区二区三区精品 | 色婷婷一区 | 亚洲精品日韩精品 | 国产在线91| 色婷婷电影 | 日精品| 欧美日韩第一页 | 九九在线视频 | 中文字幕免费观看 | 性欧美大战久久久久久久免费观看 | 中文字幕亚洲一区 | 久久亚洲精品裙底抄底 | 欧美高潮| 97天堂| 一级毛片在线播放 | 欧美激情精品久久久久 | 亚州成人| 国产欧美在线 | 超碰成人在线免费 | 国产亚洲精品久久久久动 | 91亚洲国产 | 午夜精品视频在线观看 | 亚洲一区中文 | 成人激情在线 | 欧美日韩久久 | 国产精品色婷婷亚洲综合看 | 亚洲免费在线视频 | 极品国产粉嫩av免费观看 | 免费观看一区二区三区 | 免费观看的黄色 | 操av网| 国产资源大全 | 日本一区不卡 | 91偷拍精品一区二区三区 | 国产精品久久久久久久9999 | 日韩一二区 | 91亚洲精品 | 国产精品1区 | 国产亚洲精品美女久久久久久久久久 | 日韩欧美一二三 |