用C语言求两个数的最大公约数和最小公倍数
求最大公约数,就是求较小的一个数的约数同时也能被较大的数整除,把他求到最大就可以了。求最小公倍数,就是求较大的一个数的倍数(同时也能整除较小的数),求最小的。
1、
- "># include <stdio.h>
- int main(void)
- {
- int x, y,temp;
- int r;
- printf("请输入两个正整数:\n");
- scanf("%d %d", &num1, &num2);
- r = num1 % num2;
- temp = num2;
- while(r!=0)
- {
- num1 = num2;
- num2 = r;
- r = num1 % num2;
- }
- printf("它们的最大公约数为:%d\n", num2);
- printf("它们的最小公倍数为:%d\n", num1*temp/num2);
- return 0;
- }
2、
- # include <stdio.h>
- int main(void)
- {
- int x, y, num1, num2, temp;
- printf("请输入两个正整数:\n");
- scanf("%d %d", &num1, &num2);
- if(num1 < num2)
- {
- temp = num1;
- num1 = num2;
- num2 = temp;
- }
- x = num1;
- y = num2;
- while(y != 0)
- {
- temp = x%y;
- x = y;
- y = temp;
- }
- printf("它们的最大公约数为:%d\n", x);
- printf("它们的最小公倍数为:%d\n", num1*num2/x);
- return 0;
- }