用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