<
>

C语言如何计算两个数的最小公倍数

2022-11-14 09:39:43 来源:易采站长站 作者:

目录C语言计算两个数的最小公倍数思路C语言求两个数的公倍数方案一方案二C语言计算两个数的最小公倍数思路最小公倍数是能同时整除两个数A,B的最小整数,可以慢慢从小到大寻找这个数:#includestdi...

目录
C语言计算两个数的最小公倍数
思路
C语言求两个数的公倍数
方案一
方案二

C语言计算两个数的最小公倍数

思路

android

最小公倍数是能同时整除两个数A,B的最小整数,可以慢慢从小到大寻找这个数:

#include<stdio.h>

int main()
{
int a, b;
scanf("%d%d", &a, &b);

for (int i = 1; ; i++)
if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
{
printf("%d", i);
break;//找到,退出
}

return 0;
}

当然,上面这个方法简单,但是循环的次数较多,可以从a,b中的较大值开始查找,以优化算法:

#include<stdio.h>

int main()
{
int a, b;
scanf("%d%d", &a, &b);

if (a < b) //如果a<b,交换值,让a成为较大值
{
int temp;
temp = a;
a = b;
b = temp;
}

for (int i = a; ; i++)
if (i%a == 0 && i%b == 0)//寻找能同时整除a,b的整数i
{
printf("%d\n", i);
break;
}

return 0;
}

C语言如何计算两个数的最小公倍数

C语言求两个数的公倍数

方案一

暴力求解,随便找出一个输入的数为临时变量,依次+1去除两个数,等同时可以整除输入的两个数时,这个数就是公倍数。

求最小公倍数 a>=1,b<=100000用函数实现

int main()
{
 int a = 0, b = 0;
 printf("请输入a和b的值\n");
 scanf("%d %d", &a, &b);
 int tem ;
 while (1)
 {
  if (tem % a == 0 && tem % b == 0)
  {
   break;
  }
  tem++;
 }
 printf("%d", tem);

 return 0;
}

方案二

在一的上面优化,找到第一个数的倍数并用它来除第二个数,如果能整除,则是最小公倍数

# define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
 int a = 0, b = 0;
 printf("请输入a和b的值\n");
 scanf("%d %d",&a, &b);
 int i=1;
 while (1)
 {
  if ((a * i) % b == 0)
  {
   break;
  }
  i++;
 }
 printf("%d", a * i);
 return 0; 
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

暂时禁止评论

微信扫一扫

易采站长站微信账号