关于C/C++中求最大公约数和最小公倍数的算法

1.更相减损法

int gcd(int a,int b)
{
    while(a!=b)
    {
       if(a>b)
           a-=b;
       else
           b-=a;
    }
    return a;
}

2.辗转相除法–递归

int gcd(int a,int b)
{
    if(b==0)
       return a;
    else
       return gcd(b,a%b);
}

3.辗转相除法–纯循环

int gcd(int a,int b)
{
    int r;
    while(b!=0)
    {
       r=a%b;
       a=b;
       b=r;
    }
    return a;
}

4.最小公倍数–穷举法

//穷举法求最小公倍数
for (i= a; ; i++ )
    if ( i % a == 0 && i % b ==0 )     break;
    printf("The least common multiple:%d\n", i )

Original: https://www.cnblogs.com/HangZhe/p/7576855.html
Author: 杭者
Title: 关于C/C++中求最大公约数和最小公倍数的算法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536327/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • How to: Create a C/C++ Union by Using Attributes (C#)

    【 How to: Create a C/C++ Union by Using Attributes (C#)】 1、you can create what is known as…

    C++ 2023年5月29日
    052
  • Prim算法(二)之 C++详解

    普里姆(Prim)算法,是用来求加权连通图的最小生成树的算法。 基本思想对于图G而言,V是所有顶点的集合;现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T存放…

    C++ 2023年5月29日
    049
  • VC++每个版本对应的库

    cpp;gutter:true;msvcp、msvcr60、71和80.dll,以及vcomp.dll(不带数字版本号)属于VC++2005版msvcp、msvcr、vcomp90…

    C++ 2023年5月29日
    059
  • 解决c++中delete后内存系统不回收

    一般new出来的内存,delete掉后。 此时如果看top内存没有减少,则可以使用下面函数让系统强制回收。 #include malloc_trim(0); Original: h…

    C++ 2023年5月29日
    073
  • C/C++ 回调函数(Callback)& 函数指针

    摘要:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的…

    C++ 2023年5月29日
    049
  • 用C/C++实现对STORM的执行信息查看和控制

    近期公司有个需求。须要在后端应用server上实时获取STORM集群的执行信息和topology相关的提交和控制,经过几天对STORM UI和CMD源代码的分析,得出能够通过其th…

    C++ 2023年5月29日
    076
  • Lua & C++

    Lua 与 C++ 交互 ## 提供系统级别Lua API 提供系统级别API需要对Lua源码进行修改 ### Lua源码编译 [LuaResourceCode]:https://…

    C++ 2023年5月29日
    056
  • 《Accelerated C++》学习笔记(1)——学习资料

    最近找到一本C++的书籍,英文名字《 Accelerated C++: Practical Programming by Example》,作者 Andrew Koenig, Ba…

    C++ 2023年5月29日
    058
  • c++ typedef和#define的作用范围

    typedef: 如果放在所有函数之外,它的作用域就是从它定义开始直到文件尾; 如果放在某个函数内,定义域就是从定义开始直到该函数结尾; #define: 不管是在某个函数内,还是…

    C++ 2023年5月29日
    094
  • C++函数模板template(模板函数)

    函数模板不是一个实在的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时,将根据传递的实际参数决定其功能。 面向对象的继承和多态机制有效…

    C++ 2023年5月29日
    049
  • C++ d-bus 使用实例

    因为以后工作用的到D-bus,这两天抽空看了下c++下得d-bus的使用方法。因为网上对c++下得d-bus使用说明几乎没有,所以,在这里记录下以供同仁使用。同时感谢shengpe…

    C++ 2023年5月29日
    055
  • VC++ 使用attributes定义接口

    1.定义预处理命令_ATL_ATTRIBUTES 2.在一个全局的Cpp文件里面配置module的attribute [module(dll, uuid = "{3845…

    C++ 2023年5月29日
    061
  • C++实现图的遍历和最短路径

    摘自:https://blog.csdn.net/qq_45694646/article/details/106764026 C++实现图的基本操作 数据结构之图(存储,遍历,最短…

    C++ 2023年5月29日
    063
  • [转]C++重载()(强制类型转换运算符)

    在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数。经过适…

    C++ 2023年5月29日
    056
  • c++ 二进制方式读取文件 读取特殊类型数据

    1 #include 2 #include 3 using namespace std; 4 5 /* 6 二进制方式进行读写文件,可以读写 各种各样数据类型的数据 7 */ 8 …

    C++ 2023年5月29日
    068
  • C++中如何精确地输出特定类型的位数

    precision()函数和fixed合用的方法。 其中,fixed表示使用一般的方法(不是科学计数法之类的)输出浮点数。precision是cout自定义的函数,用来设置小数输出…

    C++ 2023年5月29日
    046
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球