輸人兩個正整數m和n,求其最大公約數和最小公倍數


輸人兩個正整數m和n,求其最大公約數和最小公倍數

答案解析:

該題題目直接使用“輾轉相除法”來求解最大公約數,以除數和余數反復做除法運算,當余數為 0 時,就取得當前算式除數為最大公約數。

最大公約數和最小公倍數之間的性質:兩個自然數的乘積等於這兩個自然數的最大公約數和最小公倍數的乘積。所以,當我們求出最大公約數,就可以很輕松的求出最小公倍數。

代碼示例:

#include <stdio.h>
int main()
{
	int  p, r, n, m, temp;
	printf("請輸入兩個正整數n,m:");
	scanf("%d%d,", &n, &m);
	//調整n保存較大的值
	if (n < m)
	{
		temp = n;
		n = m;
		m = temp;
	}

	p = n * m;
	while (m != 0)
	{
		r = n % m;
		n = m;
		m = r;
	}
	printf("它們的最大公約數為:%d\n", n);
	printf("它們的最小公倍數為:%d\n", p / n);
	return 0;
}

運行截圖:

輸人兩個正整數m和n,求其最大公約數和最小公倍數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM