最大公约数与最小公倍数

1、a和b的最大公约数乘以最小公倍数等于a*b

辗转相除法:

原理:

 gcd(a,b)=gcd(b,a mod b) (b>0)

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

求三个数的最小公倍数,两个两个的求。

例题,蓝桥杯核桃的数量

复制代码
#include<iostream>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
using namespace std;
//求三个数的最小公倍数 
 int gcd(int a,int b)
{
   if(b==0)
   return a;
   else
   gcd(b,a%b);
}
int main()
{
    int p=0,q=0;
    int a,b,c;
    cin>>a>>b>>c;
    if(a>b)
      p=gcd(a,b);
    else
    p=gcd(b,a);
    p=a*b/p;

     if(p>c)
     q=gcd(p,c);  
    else
    q=gcd(c,p);
   
      q=p*c/q;
    cout<<q<<endl;
  
    return 0;
    
}
复制代码

 

posted @   Tomorrow1126  阅读(167)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示