歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 用C語言求兩個數的最大公約數和最小公倍數

用C語言求兩個數的最大公約數和最小公倍數

日期:2017/3/1 10:25:07   编辑:Linux編程

求最大公約數,就是求較小的一個數的約數同時也能被較大的數整除,把他求到最大就可以了。求最小公倍數,就是求較大的一個數的倍數(同時也能整除較小的數),求最小的。

1、

  1. "># include <stdio.h>
  2. int main(void)
  3. {
  4. int x, y,temp;
  5. int r;
  6. printf("請輸入兩個正整數:\n");
  7. scanf("%d %d", &num1, &num2);
  8. r = num1 % num2;
  9. temp = num2;
  10. while(r!=0)
  11. {
  12. num1 = num2;
  13. num2 = r;
  14. r = num1 % num2;
  15. }
  16. printf("它們的最大公約數為:%d\n", num2);
  17. printf("它們的最小公倍數為:%d\n", num1*temp/num2);
  18. return 0;
  19. }

2、

  1. # include <stdio.h>
  2. int main(void)
  3. {
  4. int x, y, num1, num2, temp;
  5. printf("請輸入兩個正整數:\n");
  6. scanf("%d %d", &num1, &num2);
  7. if(num1 < num2)
  8. {
  9. temp = num1;
  10. num1 = num2;
  11. num2 = temp;
  12. }
  13. x = num1;
  14. y = num2;
  15. while(y != 0)
  16. {
  17. temp = x%y;
  18. x = y;
  19. y = temp;
  20. }
  21. printf("它們的最大公約數為:%d\n", x);
  22. printf("它們的最小公倍數為:%d\n", num1*num2/x);
  23. return 0;
  24. }
Copyright © Linux教程網 All Rights Reserved