c語言求最大公約數和最小公倍數

2021-07-25 07:32:04 字數 1159 閱讀 5387

方法一:更相減損法

用兩數中較大數減去較小數求得餘數,再將餘數和減數相比較較大的乙個賦給減數成為被減數,較小的乙個賦給餘數成為減數,

再用前面的方法進行處理直至餘數為0,此時的被減數就是這兩個數的最大公約數.兩數乘積再除以最大公約數即可得到最小公倍數。

#include

#include

#include

#include

#include

#pragma warning(disable: 4996)

void swap(int *x, int *y)

int main()

r = num1 - num2;

if (r > num2)

num1 = num2;

num2 = r;

}int minmul = product / num1;

printf("the greatest common divisor of %d and %d is: %d\n", m, n, num1);

printf("the  least common multiple of %d and %d is: %d\n",m,n,minmul);

system("pause");

return 0;

}方法二:輾轉相除法

#include

#include

#include

#include

#include

#pragma warning(disable: 4996)

void swap(int *x, int *y)

int main()

quotient = num1 / num2;

r = num1%num2;

num1 = num2;

num2 = r;

}int minmul = product / num1;

printf("the greatest common divisor of %d and %d is: %d\n", m, n, num1);

printf("the  least common multiple of %d and %d is: %d\n", m, n, minmul);

system("pause");

return 0;

}

求最大公約數,最小公倍數

歐幾里德遞迴演算法,大數對小數取餘直到小數為0,大數為最大公約數 param m param n return static int maxcommondivisor euclid recursion int m,int n return m 劉徽兩數相減直到兩數相等,等數為最大公約數 param ...

c 求最大公約數 最小公倍數

1 求兩個數的最大公約數 include stdafx.h include includeusing namespace std int tmain int argc,tchar argv else while max min 0 cout num1 num2 最大公約數為 temp endl re...

求最大公約數和最小公倍數

本篇文章中求最大公約數的方法是輾轉相除法,又稱歐幾里德演算法 方法是用較大的數除以較小的數,求得餘數,將餘數變成除數,除數變成被除數,重複這個過程,直到餘數變成0。而求最小公倍數的方法則是用原本兩個數的乘積除以最大公約數。define crt select no warings include in...