国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

這篇具有很好參考價(jià)值的文章主要介紹了C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

題目:

從鍵盤輸入兩個(gè)數(shù),兩個(gè)數(shù)最大公約數(shù)。

? ? ? ? ? ? ? ? ? ??

?=========================================================================

? ? ? ? ? ? ? ? ? ? ? ?

思路一:普通方法

總體思路:

(一). 生成相關(guān)變量;

從鍵盤輸入兩個(gè)數(shù);

使用 三目操作符(條件操作符) 找出較小值

? ? ? ? ? ? ? ?

(二). 使用 while循環(huán) ,

在循環(huán)中設(shè)置 if條件判斷語句

用兩數(shù)分別?模以 較小值 ,

能整除(沒有余數(shù))較小值 就是 最大公約數(shù)

不能整除(沒有余數(shù))較小值 自減1,

直到能整除,此時(shí) 較小值 就是 最大公約數(shù),

進(jìn)行打印

? ? ? ? ? ? ? ??


? ? ? ? ? ? ? ? ?

第一步:

(1). 生成相關(guān)變量

int m = 0; -- 接收從鍵盤輸入的第一個(gè)數(shù);

int n = 0; -- 接收從鍵盤輸入的第二個(gè)數(shù)。

?? ? ? ? ? ? ? ? ??

(2). 從鍵盤輸入兩個(gè)數(shù) -- scanf()函數(shù)。

? ? ? ? ? ?

(3). 使用 三目操作符(條件操作符)找出 較小值 賦給 變量k

int k = (m > n ? n : m);

? ? ? ? ? ? ? ? ? ? ?

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);

	//使用 三目操作符(條件操作符)找出較小值賦給變量k
	int k = (m > n ? n : m); //也可以用if條件判斷語句

	return 0;
}

實(shí)現(xiàn)圖片:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ?

第二步:

(1). 使用 while循環(huán) ;

? ? ? ? ? ? ?

(2). 在循環(huán)中設(shè)置 if條件判斷語句

用兩數(shù)分別?模以 較小值

能整除較小值 就是 最大公約數(shù) ,

不能整除較小值 自減1

直到能整除,此時(shí) 較小值 就是 最大公約數(shù),

進(jìn)行打印

? ? ? ? ? ? ? ? ? ? ?

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);

	//使用 三目操作符(條件操作符)找出較小值賦給變量k
	int k = (m > n ? n : m); //也可以用if條件判斷語句

	//使用while循環(huán):
	while (1) //一直循環(huán),知道找到最大公約數(shù)再break跳出循環(huán)
	{
		//在循環(huán)中設(shè)置 if條件判斷語句:
		if (m % k ==0 && n % k ==0)//用兩數(shù)分別 模以 較小值
		{
			//能整除 則 較小值 就是 最大公約數(shù)
			break;//break跳出循環(huán)后進(jìn)行打印
		}

		k--;//不能整除則 較小值 自減,再次循環(huán),直到兩個(gè)數(shù)都能被較小值整除
	}

	//進(jìn)行打印:
	printf("%d\n", k);

	return 0;
}

實(shí)現(xiàn)圖片:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

? ? ? ? ? ? ? ? ? ??

思路一:最終代碼和實(shí)現(xiàn)效果

最終代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);

	//使用 三目操作符(條件操作符)找出較小值賦給變量k
	int k = (m > n ? n : m); //也可以用if條件判斷語句

	//使用while循環(huán):
	while (1) //一直循環(huán),知道找到最大公約數(shù)再break跳出循環(huán)
	{
		//在循環(huán)中設(shè)置 if條件判斷語句:
		if (m % k ==0 && n % k ==0)//用兩數(shù)分別 模以 較小值
		{
			//能整除 則 較小值 就是 最大公約數(shù)
			break;//break跳出循環(huán)后進(jìn)行打印
		}

		k--;//不能整除則 較小值 自減,再次循環(huán),直到兩個(gè)數(shù)都能被較小值整除
	}

	//進(jìn)行打?。?	printf("%d\n", k);

	return 0;
}

實(shí)現(xiàn)效果:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

? ? ? ? ? ? ? ? ? ??

?=========================================================================

? ? ? ? ? ? ? ? ? ? ? ?

思路二:輾轉(zhuǎn)相除法

總體思路:

(一). 生成相關(guān)變量,從鍵盤輸入兩個(gè)數(shù)。

? ? ? ? ? ?

(二). 使用while循環(huán) ,配合輾轉(zhuǎn)相除法找出最大公約數(shù)。

? ? ? ? ? ? ? ??


? ? ? ? ? ? ??

第一步:

(1). 生成相關(guān)變量

int m = 0; -- 接收第一個(gè)數(shù);

int n = 0; -- 接收第二個(gè)數(shù);

int k = 0; -- 存放使用輾轉(zhuǎn)相除法后到的余數(shù)。

? ? ? ? ? ? ??

(2). 從鍵盤輸入兩個(gè)數(shù) -- scanf()函數(shù)

? ? ? ? ? ? ? ? ? ? ?

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)
	int k = 0; //存放使用 輾轉(zhuǎn)相除法 后得到的 余數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);


	return 0;
}

實(shí)現(xiàn)圖片:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ? ? ?

第二步:

(1). 使用 while循環(huán) ,配合 輾轉(zhuǎn)相除法 找出最大公約數(shù)

? ? ? ? ? ? ? ? ? ? ? ??

(2). 輾轉(zhuǎn)相除法:

第一個(gè)數(shù) 模以 第二個(gè)數(shù) 兩數(shù)位置可調(diào)換)得到 余數(shù),

余數(shù) 不為0,則把 第二個(gè)數(shù)的值 賦給 第一個(gè)數(shù)的值,余數(shù) 賦給 第二個(gè)數(shù),

繼續(xù)第一個(gè)數(shù)(此時(shí)是第二個(gè)數(shù)的值模以?第二個(gè)數(shù)(此時(shí)是余數(shù)的值

得到 新的余數(shù) ,

循環(huán)這些步驟,直到 余數(shù)為0?,此時(shí) 第二個(gè)數(shù) 最大公約數(shù)。

? ? ? ? ? ? ? ? ? ? ?

(3). 打印 第二個(gè)數(shù),即最大公約數(shù)。

? ? ? ? ? ? ? ? ? ? ??

實(shí)現(xiàn)代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)
	int k = 0; //存放使用 輾轉(zhuǎn)相除法 后得到的 余數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);

	//使用 while循環(huán) ,配合 輾轉(zhuǎn)相除法 找出 最大公約數(shù)
	while (k = m % n) 
	//求余數(shù),當(dāng)余數(shù)為0后停止循環(huán),此時(shí),n為最大公約數(shù)
	{
		m = n; //第二個(gè)數(shù)的值 賦給 第一個(gè)數(shù)
		n = k; //余數(shù) 賦給 第二個(gè)數(shù)

		//賦值后再求余數(shù),直到余數(shù)為0
	}

	//打印第二個(gè)數(shù),即最大公約數(shù)
	printf("%d\n", n);

	return 0;
}

實(shí)現(xiàn)圖片:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)

? ? ? ? ? ? ? ? ? ??

思路二:最終代碼和實(shí)現(xiàn)效果

最終代碼:

#include <stdio.h>
int main()
{
	//生成相關(guān)變量:
	int m = 0; //接收從鍵盤輸入的第一個(gè)數(shù)
	int n = 0; //接收從鍵盤輸入的第二個(gè)數(shù)
	int k = 0; //存放使用 輾轉(zhuǎn)相除法 后得到的 余數(shù)

	//從鍵盤輸入兩個(gè)數(shù):
	scanf("%d %d", &m, &n);

	//使用 while循環(huán) ,配合 輾轉(zhuǎn)相除法 找出 最大公約數(shù)
	while (k = m % n) 
	//求余數(shù),當(dāng)余數(shù)為0后停止循環(huán),此時(shí),n為最大公約數(shù)
	{
		m = n; //第二個(gè)數(shù)的值 賦給 第一個(gè)數(shù)
		n = k; //余數(shù) 賦給 第二個(gè)數(shù)

		//賦值后再求余數(shù),直到余數(shù)為0
	}

	//打印第二個(gè)數(shù),即最大公約數(shù)
	printf("%d\n", n);

	return 0;
}

實(shí)現(xiàn)效果:

C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)文章來源地址http://www.zghlxwxcb.cn/news/detail-487287.html

到了這里,關(guān)于C語言:給定兩個(gè)數(shù),求這兩個(gè)數(shù)的最大公約數(shù)(新思路:輾轉(zhuǎn)相除法)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C語言——輸入兩個(gè)正整數(shù) m 和 n。求其最大公約數(shù)和最小公倍數(shù)。

    1、首先,程序通過printf函數(shù)提示用戶輸入兩個(gè)正整數(shù)m和n,然后使用scanf函數(shù)接收用戶的輸入并將值分別存儲(chǔ)到變量m和n中。 2、接下來,程序進(jìn)入一個(gè)for循環(huán),從1開始遍歷直至i等于較小的數(shù)(m或n),檢查當(dāng)前數(shù)值i是否能同時(shí)整除m和n。如果i既能被m整除又能被n整除(即滿足

    2024年02月03日
    瀏覽(21)
  • C語言--編寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),再主函數(shù)中輸入兩個(gè)整數(shù),調(diào)用它們后輸出結(jié)果。
  • C語言—最大公約數(shù)和最小公倍數(shù)

    C語言—最大公約數(shù)和最小公倍數(shù)

    作者主頁: paper jie的博客_CSDN博客-C語言,算法詳解領(lǐng)域博主 本文作者: 大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于 《算法詳解》專欄,本專欄是針對(duì)于大學(xué)生,編程小白精心打造的。筆者用重金(時(shí)間和精力)打造,將算法基礎(chǔ)知識(shí)一網(wǎng)打盡,希望

    2024年02月13日
    瀏覽(25)
  • C語言—求最大公約數(shù)(4種算法思路)

    如果大數(shù)可以整除小數(shù),那么最大公約數(shù)為小數(shù)。如果不能整除小數(shù),那么這兩個(gè)數(shù)就按大到小依次對(duì)比小數(shù)小的數(shù)求余,遇到都能夠整除的,就是最大公約數(shù)。 用a對(duì)b求余,若余數(shù)為0,則除數(shù)b為最大公約數(shù)。若余數(shù)不為0,將此余數(shù)r作為新的除數(shù),b作為新的被除數(shù),重新

    2024年04月13日
    瀏覽(25)
  • 【C語言】求最大公約數(shù)和最小公倍數(shù)

    【C語言】求最大公約數(shù)和最小公倍數(shù)

    方法一:利用 定義法 求最大公因數(shù)和最小公倍數(shù) 方法二:最小公倍數(shù)求法同上, 最大公約數(shù)方法不同 方法一方法二的結(jié)果示例如下 ? 方法三:利用 輾轉(zhuǎn)相除法 求最大公約數(shù)和最小公倍數(shù) 法(1)結(jié)果示例如下: ?法(2)示例結(jié)果如下: ?以上就是用C語言循環(huán)和循環(huán)之前的

    2024年02月07日
    瀏覽(94)
  • 最大公約數(shù)的三種求法——(C語言)

    如何求解最大公約數(shù),首先了解什么是最大公約數(shù), 如果有一個(gè)自然數(shù)a能被自然數(shù)b整除,則稱a為b的倍數(shù),b為a的約數(shù)。幾個(gè)自然數(shù)公有的約數(shù),叫做這幾個(gè)自然數(shù)的公約數(shù)。公約數(shù)中最大的一個(gè)公約數(shù),稱為這幾個(gè)自然數(shù)的最大公約數(shù)。 例: 在2、4、6中,2就是2,4,6的最

    2024年02月02日
    瀏覽(24)
  • 【C語言】輾轉(zhuǎn)相除法求最大公約數(shù)(詳解)

    【C語言】輾轉(zhuǎn)相除法求最大公約數(shù)(詳解)

    輾轉(zhuǎn)相除法(又稱歐幾里德算法)是一種用于求解兩個(gè)整數(shù)的最大公約數(shù)的方法。本文將使用C語言來實(shí)現(xiàn)輾轉(zhuǎn)相除法,并對(duì)其原理進(jìn)行解釋。 輾轉(zhuǎn)相除法的原理非常簡(jiǎn)單。假設(shè)有兩個(gè)整數(shù)a和b,其中a b。通過對(duì)a除以b求余數(shù),得到余數(shù)r1。然后把b除以r1求余數(shù),得到余數(shù)r2。如

    2024年02月07日
    瀏覽(21)
  • C語言經(jīng)典算法之Euclidean算法求最大公約數(shù)

    目錄 前言 A.建議 B.簡(jiǎn)介 一 代碼實(shí)現(xiàn) 二 時(shí)空復(fù)雜度 A.循環(huán)實(shí)現(xiàn) a.時(shí)間復(fù)雜度(Time Complexity): b.空間復(fù)雜度(Space Complexity): B.遞歸實(shí)現(xiàn) a.時(shí)間復(fù)雜度(Time Complexity): b.空間復(fù)雜度(Space Complexity): 三 優(yōu)缺點(diǎn) A.循環(huán)實(shí)現(xiàn) a.優(yōu)點(diǎn): b.缺點(diǎn): c.總結(jié): B.遞歸實(shí)現(xiàn) a.優(yōu)點(diǎn):

    2024年03月26日
    瀏覽(19)
  • 【c語言】—求最大公約數(shù)和最小公倍數(shù)多種方法

    目錄 一.求最大公約數(shù) 1.枚舉法求最大公約數(shù) 2.輾轉(zhuǎn)相除法 二.求最小公倍數(shù) 1.枚舉法求最小公倍數(shù) 2.簡(jiǎn)易法 3.公式法 思路:先求兩個(gè)數(shù)中的最小值,最大公約數(shù)不可能大于兩個(gè)數(shù)的最小數(shù) 比如6和18,最大公約數(shù)就是6 再如3和9,最大公約數(shù)就是3 然后再從1開始循環(huán)遍歷到最小

    2024年02月08日
    瀏覽(22)
  • C語言入門——求最大公約數(shù)(2種方法超詳細(xì))

    C語言入門——求最大公約數(shù)(2種方法超詳細(xì))

    基本介紹: 最大公約數(shù)(greatest common divisor,簡(jiǎn)寫為 gcd ;或highest common factor,簡(jiǎn)寫為hcf),指某幾個(gè)整數(shù)共有因子中最大的一個(gè)。 最大公約數(shù) 能夠整除一個(gè)整數(shù)的整數(shù)稱為其的約數(shù)(如5是10約數(shù)); 能夠被一個(gè)整數(shù)整除的整數(shù)稱為其的倍數(shù)(如10是5的倍數(shù)); 如果一個(gè)數(shù)既

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包