C语言:求输入的两个数的最小公倍数

简介: 总体思路:(一).输入两个数:a 和 b,使用 三目表达式 把较大值 取出

总体思路:

(一).

输入两个数:a b

使用 三目表达式较大值 取出

(二).

使用 while循环

循环判断 较大值 能否同时整除两个数

能整除,说明 较大值是两值的最大公倍数跳出循环

不能整除较大值++,直到能同时整除两个值跳出循环

进行打印

第一步:

(1). 输入两个数:a b

               

(2). 使用 三目表达式较大值取出

                   

实现代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  //使用 三目表达式 ,把较大值取出
  //假设 a 和 b 的较大值是最小公倍数
  long long m = a > b ? a : b;
  //较大值赋给 m
  return 0;
}

实现图片:

image.png

第二步:

(1). 使用 while循环,循环判断 较大值 能否同时整除两个数

             

(2). 在 while循环中,使用 if条件判断 判断 较大值能否同时整除两个数

能整除,说明较大值就是两值的最大公倍数跳出循环

           

不能整除,则 较大值++,直到能同时整除两个值跳出循环

           

进行打印

实现代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  //使用 三目表达式 ,把较大值取出
  //假设 a 和 b 的较大值是最小公倍数
  long long m = a > b ? a : b;
  //较大值赋给 m
  //使用 while循环,
  //循环判断 较大值 能否同时整除两个数
  while (1) //死循环,等满足用break跳出循环
  {
    //使用 if条件判断 :
    if (m % a == 0 && m % b == 0)
    //看 较大值 能否同时整除两个数
    {
      //能整除,跳出循环
      break;
    }
    //不能整除,较大值++,直到能整除两个值
    m++;
  }
  //打印:
  printf("%lld\n", m);
  return 0;
}

实现图片:

image.png

思路一:最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  //使用 三目表达式 ,把较大值取出
  //假设 a 和 b 的较大值是最小公倍数
  long long m = a > b ? a : b;
  //较大值赋给 m
  //使用 while循环,
  //循环判断 较大值 能否同时整除两个数
  while (1) //死循环,等满足用break跳出循环
  {
    //使用 if条件判断 :
    if (m % a == 0 && m % b == 0)
    //看 较大值 能否同时整除两个数
    {
      //能整除,跳出循环
      break;
    }
    //不能整除,较大值++,直到能整除两个值
    m++;
  }
  //打印:
  printf("%lld\n", m);
  return 0;
}

实现效果:

0abd04654c6d48fe9545b03966f6a75d.png

思路二:a * i % b

(使用方法,效率更高)

总体思路:

(一).

输入两个数:a b

(二).


求 a 和 b 的最小公倍数:


     


假设两值的最小公倍数是 k ,有 i = 1,


让        a * i % b        看能不能整除(余数等于0)


能整除,最小公倍数是 k = a * i


不能整除,则 i++,


直到能整除为止,此时最小公倍数 k = a * i


             

第一步:

输入两个数:a b

                   

实现代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  return 0;
}

实现图片:


e9efe1646093449987dfadcefd722a40.png

第二步:

使用 while循环判断 a * i % b 能否整除

           

能整除最小公倍数k = a * i ,进行打印

               

不能整除,则 i++

           

直到能整除为止,此时最小公倍数k = a * i

                   

实现代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  //求最小公倍数:
  int i = 1; //a的倍数
  while (a * i % b != 0)//这里 !=0 可以省略
  // a * i 不能整除 b,则改变 i,即a的倍数,
  //直到可以整除退出循环
  {
    i++;//不能整除则 i++
  }
  //直到能整除为止,此时最小公倍数 k = a * i
  printf("%lld\n", a * i);
  return 0;
}

实现图片:

image.png

思路二:最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
  //输入两个数:
  long long a = 0;
  long long b = 0;
  //输入:
  scanf("%lld %lld", &a, &b);
  //求最小公倍数:
  int i = 1; //a的倍数
  while (a * i % b != 0)//这里 !=0 可以省略
  // a * i 不能整除 b,则改变 i,即a的倍数,
  //直到可以整除退出循环
  {
    i++;//不能整除则 i++
  }
  //直到能整除为止,此时最小公倍数 k = a * i
  printf("%lld\n", a * i);
  return 0;
}

实现效果:

f5bb16b4d1be4b9ca323bb547abc3480.png

相关文章
|
9月前
|
人工智能 BI C语言
【C语言】求两个数的最大公约数和最小公倍数(极简代码版)
【C语言】求两个数的最大公约数和最小公倍数(极简代码版)
85 1
|
1月前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
66 15
|
1月前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】判断一个数是不是5和7的倍数(头歌实践教学平台习题)【合集】
本任务要求输入一个正整数,判断其是否同时是5和7的倍数,若是输出&quot;Yes&quot;,否则输出&quot;No&quot;。内容涵盖选择结构的基本概念、主要语句类型(if、if-else、switch)及条件判断逻辑,帮助理解编程中的分支执行与条件表达式。测试用例包括正数、负数及非倍数情况,确保代码逻辑严谨。通关代码示例如下: ```cpp #include &quot;stdio.h&quot; int main(){ int a; scanf(&quot;%d&quot;, &a); if (a &lt;= 0){ printf(&quo
48 0
|
9月前
|
算法 C语言
C语言中的最大公约数和最小公倍数,居然如此简单!
C语言中的最大公约数和最小公倍数,居然如此简单!
|
8月前
|
C语言
C语言---最大公约数和最小公倍数的求法
C语言---最大公约数和最小公倍数的求法
|
8月前
|
算法 C语言
C语言——最大公因数和最小公倍数
C语言——最大公因数和最小公倍数
494 0
|
9月前
|
C语言
C语言每日一练——Day02:求最小公倍数(3种方法)
C语言每日一练——Day02:求最小公倍数(3种方法)
|
9月前
|
C语言
最大公约数和最小公倍数(c语言)
最大公约数和最小公倍数(c语言)
|
9月前
|
C语言
C语言之九九乘法表||素数||最小公倍数
C语言之九九乘法表||素数||最小公倍数
79 0
|
9月前
|
C语言
C语言刷题:整数加逗号、删除公共字符、求最小公倍数和将字符串倒置
C语言刷题:整数加逗号、删除公共字符、求最小公倍数和将字符串倒置
105 0

热门文章

最新文章