假如需要求 1997 和 615 兩個正整數的最大公約數,用歐幾里德算法,是這樣進行的:
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公約數為1
以除數和余數反復做除法運算,當余數為 0 時,取當前算式除數為最大公約數,所以就得出了 1997 和 615 的最大公約數 1。
新手版
#include <stdio.h>
#include <stdlib.h>
int result(int m, int n)
{
int r;
if (m > n)
{
r = m, m = n, n = r;
}
r = n%m;
while (r != 0)
{
n = m;
m = r;
r = n%m;
}
return m;
}
int main()
{
printf("result:%d\n", result(12, 9));
return 0;
}
這種寫法是非常簡單的思路
1.先求兩者中的最大值
2.再用循環描述輾轉相除即可
大佬版
#include <stdio.h>
#include <stdlib.h>
int result(int m, int n)
{
return n ? result(n, m%n) : n;
}
int main()
{
printf("result:%d\n", result(12, 9));
return 0;
}
上述就是小編為大家分享的C語言中怎么求最大公約數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
戴維斯雙殺是什么意思?戴維斯雙殺效應是由著名的投資人戴維斯提出的一種雙殺效應,指的是關于上市公司股票價格的波動和市場的預期之間的倍數效應。通俗來講就是股票的每股收益下滑引起了股價下滑,而股價下滑又會帶動市盈率下跌,PE下跌又會進一步導致股價下跌,簡單總結就是盈利和估值的雙雙下跌而導致的股價暴跌。戴維斯雙擊一般漲多少?上漲4.5倍。1、戴維斯雙擊是指在低市盈率(PE)買入股票,待成長潛力顯現后,以高...
中信銀行電子賬戶具體含義。中信銀行電子賬戶是指用戶通過電子渠道實名開立的,可以購買投資理財產品等指定金融產品的賬戶,屬于非面對面開立的二類銀行賬戶或三類銀行賬戶。要在中信銀行,開立電子賬戶,您必須年滿16歲,在身份證的正面和背面提供真實、完整和準確的信息,并核實手機號碼必須與綁定到該賬戶的手機號碼一致。中信銀行電子賬戶可以為用戶提供金融產品和服務,但不會向用戶發送紙質票據,用戶只能通過指定的電子渠...
現在的寬帶套餐琳瑯滿目,用戶的選擇范圍更廣,從100M到1000M,從預付費到后付費,從單套餐到移動寬帶融合套餐,從一年到兩年、三年等等。,容易被挑剔。那么,用戶應該如何選擇寬帶呢?以北京為例:第一,明確寬帶用途和使用環境使用環境是指自己的寬帶是單獨使用還是多戶共用寬帶。首先,如果只是用來瀏覽網頁,看電影,聊QQ,對網絡要求不高,那么可以選擇帶寬稍微低一點的,比如10M,50M。其次,如果你是網游...