用C語言求兩個數的最大公約數和最小公倍數
[日期:2012-04-06] 來源:Linux社區 作者:junjieguo
求最大公約數,就是求較小的一個數的約數同時也能被較大的數整除,把他求到最大就可以了。求最小公倍數,就是求較大的一個數的倍數(同時也能整除較小的數),求最小的。
1、
1."># include <stdio.h>
2.
3.int main(void) 4.{
5. int x, y,temp; 6. int r; 7. printf("請輸入兩個正整數:\n"); 8. scanf("%d %d", &num1, &num2); 9. r = num1 % num2;
10. temp = num2;
11. while(r!=0) 12. {
13. num1 = num2;
14. num2 = r;
15. r = num1 % num2;
16. }
17.printf("它們的最大公約數爲:%d\n", num2); 18. printf("它們的最小公倍數爲:%d\n", num1*temp/num2); 19.
20. return 0; 21.}
2、
1.# include <stdio.h>
2.
3.int main(void) 4.{
5. int x, y, num1, num2, temp; 6.
7. printf("請輸入兩個正整數:\n"); 8. scanf("%d %d", &num1, &num2); 9.if(num1 < num2) 10. {
11. temp = num1;
12. num1 = num2;
13. num2 = temp;
14. }
15. x = num1;
16. y = num2;
17. while(y != 0) 18. {
19. temp = x%y;
20. x = y;
21. y = temp;
22. }
23.printf("它們的最大公約數爲:%d\n", x); 24. printf("它們的最小公倍數爲:%d\n", num1*num2/x); 25.
26. return 0; 27.}
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文鏈接:http://www.linuxidc.com/Linux/2012-04/58096.htm