zoukankan      html  css  js  c++  java
  • 辗转相除 求最大公约数!or 最小公倍数

    求最大公约数和最小公倍数的经典算法--辗转相除法描述如下:

    若要求a,b两数的最大公约数和最小公倍数,令a为a、b中较大数,b为较小数,算法进一步流程:

    while(b不为0)

    {

    temp=a%b;

    a=b;

    b=temp

    }

    最后a即为两数的最大公约数,最大公倍数为: a*b/最大公约数

    c语言代码:

    01.int divisor (int a,int b)    /*自定义函数求两数的最大公约数*/  
    02.{  
    03.  int  temp;          /*定义整型变量*/  
    04.  if(a<b)             /*通过比较求出两个数中的最大值和最小值*/  
    05.  {   
    06.      temp=a;  
    07.      a=b;  
    08.      b=temp;  
    09.    } /*设置中间变量进行两数交换*/  
    10.   while(b!=0)           /*通过循环求两数的余数,直到余数为0*/  
    11.   {  
    12.      temp=a%b;  
    13.      a=b;              /*变量数值交换*/  
    14.      b=temp;  
    15.    }  
    16.  return a;            /*返回最大公约数到调用函数处*/   
    17.}  
    18.  
    19.  
    20.int multiple (int a,int b)  /*自定义函数求两数的最小公倍数*/  
    21.{  
    22.  int temp;  
    23.  temp=divisor(a,b);  /*调用自定义函数,求出最大公约数*/  
    24.  return  (a*b/temp); /*返回最小公倍数到主调函数处进行输出*/  
    25.}  
    戳这里
  • 相关阅读:
    java ssh免密登录
    [8.0][MGR][bug]多主模式,外键冲突错误
    内核月报bookmark
    netcat 传输T级别大文件
    innodb部分内部操作
    qps.sh
    ABAP-ALV判断骚操作
    HCM基本知识
    SAP-VOFM的使用
    ABAP-处理去掉特殊字符
  • 原文地址:https://www.cnblogs.com/shercy/p/4189151.html
Copyright © 2011-2022 走看看