• 辗转相除法求最大公约数和最小公倍数


    女朋友考试要用,帮她写一下,自己也顺便学习了,记下来,以后参考。

      1: /*辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。
    
      2: 例如,252和105的最大公约数是21(252 = 21 × 12;105 = 21 × 5);
    
      3: 因为252 − 105 = 147,所以147和105的最大公约数也是21。在这个过程中,较大的数缩
    
      4: 小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的
    
      5: 还没有变成零的数就是两数的最大公约数。
    
      6: */
    
      7: #include <stdio.h> 
    
      8: 
    
      9: int getGCDAndLCM(int a,int b){
    
     10:     int max=a>b?a:b;//将较大的数赋给max
    
     11:     int min=(max=a)?b:a;//将较小的数赋给min
    
     12:     int temp;//暂时存储变量
    
     13:     while(max!=0){
    
     14:         temp=min%max;
    
     15:         min=max;
    
     16:         max=temp;
    
     17:     }
    
     18:     printf("最大公约数为%d\n",min);
    
     19:     printf("最小公倍数为%d\n",a*b/min);
    
     20: }
    
     21: 
    
     22: int main(){
    
     23:     printf("输入两个数整数值\n");
    
     24:     int a,b;
    
     25:     scanf("%d",&a);
    
     26:     scanf("%d",&b);
    
     27:     getGCDAndLCM(a,b);
    
     28:     return 0;
    
     29: }
  • 相关阅读:
    https://archive.ics.uci.edu/ml/datasets.php
    实战教程 :使用Python和keras进行文本分类(上)(重要)
    洛谷 P1073 最优贸易
    P2278 [HNOI2003]操作系统
    洛谷P2024 食物链
    模板
    我的博客
    mysql一条sql把表中的男改为女,女改为男
    树的度和结点数的关系
    Spider实例详解
  • 原文地址:https://www.cnblogs.com/sunzhenxing19860608/p/1769489.html
Copyright © 2020-2023  润新知