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

 更新时间:2022年11月14日 08:56:43   作者:菜菜菜三菜  
这篇文章主要介绍了C语言如何计算两个数的最小公倍数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

思路

最小公倍数是能同时整除两个数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语言求两个数的公倍数

方案一

暴力求解,随便找出一个输入的数为临时变量,依次+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;    
}

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

相关文章

  • C语言结构体内存的对齐知识详解

    C语言结构体内存的对齐知识详解

    这篇文章主要介绍了C语言结构体内存的对齐的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • C++使用opencv处理两张图片的帧差

    C++使用opencv处理两张图片的帧差

    这篇文章主要为大家详细介绍了C++使用opencv处理两张图片的帧差,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C语言中回调函数的使用详情

    C语言中回调函数的使用详情

    这篇文章主要介绍了C语言中回调函数的使用详情,阅读下文我们将学习到架构的核心理念和需、回调函数的作用、回调函数的程序编写等内容,需要的小伙伴可以参考一下
    2022-03-03
  • C语言完数的实现示例

    C语言完数的实现示例

    C语言中的完数指的是一个正整数,本文主要介绍了C语言完数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • C++的static关键字及变量存储位置总结

    C++的static关键字及变量存储位置总结

    今天看博文时,看到了c++的static关键字的一些总结,还涉及到了一些代码的存储位置;接下来为您详细呈现
    2012-11-11
  • C语言实现简单井字棋游戏

    C语言实现简单井字棋游戏

    这篇文章主要为大家详细介绍了C语言实现简单井字棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • c++中的const_cast用法大全

    c++中的const_cast用法大全

    const_cast转换符是用来移除变量的const或volatile限定符。对于后者,我不是太清楚,因为它涉及到了多线程的设计,今天重点给大家介绍c++中的const_cast用法大全,需要的朋友参考下吧
    2021-07-07
  • C语言实现随机生成6位数密码

    C语言实现随机生成6位数密码

    这篇文章主要为大家详细介绍了如何使用C语言实现一个简单而实用的随机密码生成器,该生成器将生成包含字母、数字和特殊字符的随机密码,有需要的小伙伴可以参考下
    2023-11-11
  • C语言实现堆排序的简单实例

    C语言实现堆排序的简单实例

    这篇文章主要介绍了C语言实现堆排序的简单实例,讲述了堆排序的原理,需要的朋友可以参考下
    2014-07-07
  • Qt中图片旋转缩放操作的实现

    Qt中图片旋转缩放操作的实现

    本文主要介绍了Qt中图片旋转缩放操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01

最新评论