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

简介: 求最小公倍数的三种方法 求最大公因数的补充:

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


最小公倍数的三种方法


//法一:暴力(定义)求解
//最小公倍数的本质是一个最小的能同时被两整数整除的自然数
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;
}

最后:感谢您的观看!

          感谢您的支持!

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

谢谢!!!

相关文章
|
1月前
|
C语言
王桂林C语言从放弃到入门课程
课程目标16天,每天6节课,每节40分钟课堂实录,带你征服C语言,让所有学过和没有学过C语言的人,或是正准备学习C语言的人,找到学习C语言的不二法门。适用人群所有学过和没有学过C语言的人,或是正准备学习C语言的人!
25 2
王桂林C语言从放弃到入门课程
|
1月前
|
自然语言处理 算法 搜索推荐
C语言中谈论算法
C语言中谈论算法
10 0
C语言中谈论算法
|
1月前
|
负载均衡 算法
ribbon的7种负载均衡算法和替换方法
ribbon的7种负载均衡算法和替换方法
34 0
ribbon的7种负载均衡算法和替换方法
|
1月前
|
算法 安全 C语言
使用C语言实现DES算法代码
使用C语言实现DES算法代码
|
3天前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
21天前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
21天前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
22天前
|
存储 算法
从动态规划到贪心算法:最长递增子序列问题的方法全解析
从动态规划到贪心算法:最长递增子序列问题的方法全解析
20 2
|
26天前
|
编译器 C语言
【C语言】字母转换大小写的三种方法
【C语言】字母转换大小写的三种方法
43 0
|
27天前
|
算法 Python
数据结构与算法 经典排序方法(Python)
数据结构与算法 经典排序方法(Python)
24 0