求最小公倍数的三种方法以及对求最大公因数的补充 C语言从入门到入土(入门篇)(算法篇p4)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 求最小公倍数的三种方法 求最大公因数的补充:

废话不多说,直接上代码。


最小公倍数的三种方法


//法一:暴力(定义)求解
//最小公倍数的本质是一个最小的能同时被两整数整除的自然数
int main()
{
  int m = 0;
  int n = 0;
  scanf("%d%d", &m, &n);
  int a = 0;
  a = ((m) > (n)) ? (m) : (n);
  while (1)
  {
    if ((a % m == 0) && (a % n == 0))
    {
      break;
    }
    a++;
  }
  printf("%d", a);
  return 0;
}
//法二:
int main()
{
  int m = 0;
  int n = 0;
  int i = 1;
  scanf("%d%d", &m, &n);     //当然这里也可以是
  while (((m * i) % n) != 0)   // m*i%n
  {
    i++;
  }
  printf("%d", m*i);  //注意这里
  return 0;
}
//法三:最大公因数求解
//如求 3 12  最小公倍数 就是  3*12/3(最大公因数),
//     3  5  最小公倍数 就是  3*5/1 。
int main()
{
  int m = 0;
  int n = 0;
  int c = 0;
  int a = 0;
  int b = 0;
  scanf("%d%d", &m, &n);
  a = m;
  b = n;
  while (c=a%b)
  {
    a = b;
    b = c;
  }
  //注意这里只有b才是最大公因数,这是辗转相除法规定的,
  //当然你也可以说是欧几里得法更帅不是嘛哈哈。
  printf("%d",m*n/b);
  return 0;
}

求最大公因数的补充:

//求最大公因数的两个补充,上面已经说到了辗转相除,
//这里就不过多赘述了。
//法一:更相减损法
//简单说:大的减小的,直到减数和差相等
int main()
{
  int m = 0;
  int n = 0;
  scanf("%d%d", &m, &n);
  while ((m - n) != 0)
  {
    if (m > n)
    {
      m=m - n;
    }
    else
    {
      n=n - m;
    }
  }
  printf("%d", m);//n也行
  return 0;
}
//法二:穷举法
//从两个数较小的数开始减,直到都能除尽。
int main()
{
  int m = 0;
  int n = 0;
  scanf("%d%d", &m, &n);
  int c = 0;
  c = ((m) < (n)) ? (m) : (n);
  for (c; c >= 1; c--)
  {
    if ((m % c == 0) && (n % c == 0))
    {
      printf("%d", c);
      break;
    }
  }
  return 0;
}

最后:感谢您的观看!

          感谢您的支持!

如果没有关注的话就来个关注吧!你的支持是作者写作的最大动力!

谢谢!!!

相关文章
|
9月前
|
存储 算法
算法入门:专题二---滑动窗口(长度最小的子数组)类型题目攻克!
给定一个正整数数组和目标值target,找出总和大于等于target的最短连续子数组长度。利用滑动窗口(双指针)优化,维护窗口内元素和,通过单调性避免重复枚举,时间复杂度O(n)。当窗口和满足条件时收缩左边界,更新最小长度,最终返回结果。
|
10月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
300 6
|
10月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
661 0
|
11月前
|
机器学习/深度学习 数据采集 传感器
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
685 0
|
9月前
|
存储 算法
算法入门:专题一:双指针(有效三角形的个数)
给定一个数组,找出能组成三角形的三元组个数。利用“两边之和大于第三边”的性质,先排序,再用双指针优化。固定最大边,左右指针从区间两端向内移动,若两短边之和大于最长边,则中间所有组合均有效,时间复杂度由暴力的O(n³)降至O(n²)。
|
9月前
|
存储 算法 编译器
算法入门:剑指offer改编题目:查找总价格为目标值的两个商品
给定递增数组和目标值target,找出两数之和等于target的两个数字。利用双指针法,left从头、right从尾向中间逼近,根据和与target的大小关系调整指针,时间复杂度O(n),空间复杂度O(1)。找不到时返回{-1,-1}。
|
9月前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
414 0
|
9月前
|
机器学习/深度学习 算法 物联网
基于遗传方法的动态多目标优化算法
基于遗传方法的动态多目标优化算法
|
12月前
|
机器学习/深度学习 数据采集 算法
你天天听“数据挖掘”,可它到底在“挖”啥?——数据挖掘算法入门扫盲篇
你天天听“数据挖掘”,可它到底在“挖”啥?——数据挖掘算法入门扫盲篇
313 0