更相減損術求最大公約數

1.定義

更相減損術是出自《九章算術》的一種求最大公約數的算法,它原本是為約分而設計的,但它適用于任何需要求最大公約數的場合。

原文是:

可半者半之,不可半者,副置分母、子之數,以少減多,更相減損,求其等也。以等數約之。

白話文譯文:
(如果需要對分數進行約分,那么)可以折半的話,就折半(也就是用2來約分)。如果不可以折半的話,那么就比較分母和分子的大小,用大數減去小數,互相減來減去,一直到減數與差相等為止,用這個相等的數字來約分。

2.步驟

第一步:任意給定兩個正整數;判斷它們是否都是偶數。若是,則用2約簡;若不是則執行第二步。
第二步:以較大的數減較小的數,接著把所得的差與較小的數比較,并以大數減小數。繼續這個操作,直到所得的減數和差相等為止。
則第一步中約掉的若干個2的積與第二步中等數的乘積就是所求的最大公約數。
其中所說的“等數”,就是公約數。求“等數”的辦法是“更相減損”法。

3.例子

3.1 例1 求6和3的最大公約數:

(1)由于3不是偶數,所以執行第二步

(2)6-3=3,3=3,減數與差相等,即3為6和3的最大公約數

3.2 例2 求98和64的最大公約數:

(1)98和64是偶數,所以用2約簡得:49和32。49不是偶數,所以執行第二步。

(2)49-32=17,17<32;

32-17=15,15<17;

17-15=2,2<15;

15-2=13;13>2;

13-2=11,11>2;

11-2=9,9>2;

9-2=7,7>2;

7-2=5,5>2;

5-2=3,3>2;

3-2=1,1<2;

2-1=1,1=1,結束

所以98和64的最大公約數為2*1=2

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10837.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10837.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10837.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++小程序:同一路由器下兩臺計算機間簡單通信(2/2)——客戶端

客戶端的程序結構前半部分與服務器端基本相同&#xff0c;后半部分也相對簡單。相關函數的解釋可以參考前文服務器端的內容。有關客戶端的內容除個別地方外&#xff0c;就不再做長篇大論的解釋。強調一點&#xff0c;如果將此程序移到其它電腦上運行&#xff0c;編譯需要releas…

Ciphey無法安裝的解決辦法

安裝過程純屬自己實踐&#xff0c;滿滿干貨 困擾我幾天的問題終于解決了 我看著教程在window上安裝 python3.8/python3.9/python3.10無論如何都安裝不上&#xff0c; 在win10虛擬機仍然安裝不上 可能是我電腦環境問題 解決辦法&#xff1a; 在kali中安裝&#xff0c;但是…

18_文件系統的制作-Ramdisk

文件系統的制作(Ramdisk) 本文介紹如何制作文件系統。另外, 由于Busybox 集合了很多工具,編譯起來也非常方便。在講解制作文件系統的時候,也會介紹 busybox 的編譯和安裝過程;介紹制作文件系統時,會詳細介紹 Ramdisk 、 YAFFS2、JFFS2 及其它文件系統的制作。 1. 根文件系…

列表、字典、集合推導式

文章目錄 前言1.列表推導式&#xff08;List Comprehension&#xff09;:2 字典推導式&#xff08;Dictionary Comprehension&#xff09;3 集合推導式&#xff08;Set Comprehension) 前言 在Python中&#xff0c;列表、字典、集合推導式是一種便捷的語法&#xff0c;用于根據…

第13節 第二種shellcode編寫實戰(2)

在第二種shellcode編寫實戰(1)的基礎上&#xff0c;新增加一個CAPI類&#xff0c;將所有用到的函數都在這個類中做動態調用的處理&#xff0c;這樣使得整個shellcode功能結構更加清晰。 1. 新建類CAPI&#xff08;即api.h和api.cpp兩個文件&#xff09;&#xff1a; api.h&…

#DELPHI BASS庫Windows平臺下,實時更換輸出設備

DELPHI BASS庫Windows平臺下&#xff0c;實時更換輸出設備 #DELPHI BASS庫Windows平臺下&#xff0c;實時更換輸出設備 取自網絡&#xff0c;分享&#xff0c;項目嵌入無損音樂播放后&#xff0c;畫蛇添足的功能分享&#xff01; 直接貼核心代碼&#xff0c;看不明白去看說…

flutter自定義日期選擇器按日、按月、自定義開始、結束時間

導入包flutter_datetime_picker: 1.5.0 封裝 import package:atui/jade/utils/JadeColors.dart; import package:flutter/cupertino.dart; import package:flutter/material.dart; import package:flutter_datetime_picker/flutter_datetime_picker.dart; import package:flut…

景源暢信電商:經營抖店需要電腦嗎?

經營抖店是否需要電腦?這個問題看似簡單&#xff0c;實則關乎著商家的運營效率和成本投入。在當前數字化、網絡化的商業環境中&#xff0c;電腦已經成為了不可或缺的工具。那么&#xff0c;經營抖店究竟是否需要電腦呢?答案是肯定的。 一、高效處理訂單 電腦能夠高效地處理大…

Mysql FLOAT和DOUBLE類型區別

存儲方式&#xff1a; FLOAT和DOUBLE是浮點數類型&#xff0c;它們以二進制格式存儲數值&#xff0c;可以存儲近似值。這意味著某些特定的小數值可能無法精確表示&#xff0c;可能會有微小的計算誤差。DECIMAL是定點數類型&#xff0c;以字符串形式存儲數值&#xff0c;可以存儲…

從零學算法2105

2105. 給植物澆水 II Alice 和 Bob 打算給花園里的 n 株植物澆水。植物排成一行&#xff0c;從左到右進行標記&#xff0c;編號從 0 到 n - 1 。其中&#xff0c;第 i 株植物的位置是 x i 。 每一株植物都需要澆特定量的水。Alice 和 Bob 每人有一個水罐&#xff0c;最初是滿的…

如何在湖師大官網找到考研真題

今天學弟問我怎么找真題&#xff0c;我必須告訴他怎么找湖師大的真題&#xff0c;身為考研學子&#xff0c;這是必須要知道滴&#xff0c;尤其是自命題&#xff0c;是吧&#xff0c;話不多說&#xff0c;言歸正傳&#xff0c;我們開始吧&#xff01; 1 打開湖師大官網 什么&a…

樹莓派nmap掃描

debian系統安裝nmap&#xff1a; sudo apt install nmap安裝nmap完成后&#xff0c;輸入 ip route 來查看當前Wi-Fi路由器的ip地址。 第一行的default via后顯示的便是網關地址&#xff0c;也就是路由器地址。 獲取到路由器ip地址后&#xff0c;在終端中輸入&#xff1a; …

一站式HMI軟件開發套件eStation,讓開發更簡單高效

4月份舉辦的北京國際車展上全球首發車117輛&#xff0c;新能源車型278個&#xff0c;越來越多的車廠通過差異化和改善UI/UE體驗&#xff0c;來獲取更多用戶的青睞。為快速響應差異化競爭需求&#xff0c;智能座艙HMI市場遇到以下挑戰&#xff1a; 如何兼容不同項目開發人員編程…

C# 使用SendMessage進行進程通信,可發送字符串,結構體

發送時只能以結構體形式發送&#xff0c;類的話會提示“指定結構必須能直接復制到本機結構中&#xff0c;或是具有布局信息 ”的錯誤提示 以下兩種結構體示例都可以被發送 public struct A{public A(int a){name "heow";array new double[3] { 1, 2, 5.6 };}strin…

批量為本地視頻生成字幕文件,并可將字幕文件翻譯成其它語言

VideoSubtitleGenerator 批量為本地視頻生成字幕文件&#xff0c;并可將字幕文件翻譯成其它語言 本項目基于 macOS, node 環境運行&#xff0c;暫未兼容 windows 環境 &#x1f310;Github地址 https://github.com/buxuku/VideoSubtitleGenerator 初衷 自己有一大批外文視頻&…

力扣例題(用棧實現隊列)

目錄 鏈接. - 力扣&#xff08;LeetCode&#xff09; 描述 思路 push pop peek empty 代碼 鏈接. - 力扣&#xff08;LeetCode&#xff09; 描述 思路 push 例如我們將10個元素放入棧中&#xff0c;假設最左邊為棧頂&#xff0c;最右側為棧底 則為10,9,8,7,6,5,4,3,…

嵌入式 - GPIO編程簡介

An Introduction to GPIO Programming By Jeff Tranter Wednesday, June 12, 2019 編者按&#xff1a;本 2019 年博客系列是 ICS 最受歡迎的系列之一&#xff0c;現已更新&#xff08;2022 年 12 月&#xff09;&#xff0c;以確保內容仍然準確、相關和有用。 本博客是 Integr…

實體類和Entity Class之間有什么聯系

實體類&#xff08;Entity Class&#xff09;和Entity Class在本質上是相同的&#xff0c;它們都是面向對象編程&#xff08;OOP&#xff09;中用于表示具有業務邏輯意義的實體的類。 具體來說&#xff0c;實體類通常被設計用于代表真實世界中的對象或概念&#xff0c;這些對象…

PWRWER

編譯燒錄完代碼之后&#xff0c;按下復位鍵屏幕會進行刷新&#xff0c;數據不會丟失 如果按下按鍵&#xff0c;進行頁擦除&#xff0c;之后再按下復位鍵&#xff0c;發現屏幕不會再進行刷新&#xff0c;原因是程序已經被擦除&#xff0c;損毀&#xff0c;無法運行&#xff0c;此…

2024OD機試卷-查找接口成功率最優時間段 (java\python\c++)

題目:查找接口成功率最優時間段 題目描述 服務之間交換的接口成功率作為 服務調用 關鍵質量特性,某個時間段內的接口失敗率使用一個數組表示, 數組中每個元素都是單位時間內失敗率數值,數組中的數值為0~100的整數, 給定一個數值(minAverageLost)表示某個時間段內平均失敗…