拿捏--->最小公倍数

这篇具有很好参考价值的文章主要介绍了拿捏--->最小公倍数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述

给定两个数,求这两个数的最小公倍数

例如:
输入:10 20
输出:20

算法思路

最小公倍数是指两个或多个整数公有的倍数中,除0以外最小的一个公倍数。

代码示例

方法一

两数乘积=最小公倍数*最大公约数

在上篇求最大公约数的四种方法中,我们已经能够求得最大公约数,借此便能求得最小公倍数

#include<stdio.h>
int main() {
	int a, b;
	scanf("%d %d", &a, &b);
	int m = a * b;
	int r = 0;
	while (r = a % b) {//r为0时,跳出循环,此时b为最大公因数
		a = b;
		b = r;
	}
	printf("%d\n", m/b);//乘积除以最大公因数等于最小公倍数
	return 0;
}

方法二

自增:循环求解

  1. 首先两个数的最小公倍数一定大于两个数中较大的那个,且小于两数之积
  2. 找出a与b之间的较大值max
  3. 利用循环,令i=max,不断++,当i能同时整除a与b时,输出i,跳出循环
  4. 即i为最小公倍数
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int min = a > b ? a : b;//min为公倍数的可能最小取值
	while (1)
	{
		if (min % a == 0 && min % b == 0)
		{
			printf("%d", min);
			break;
		}
	}
	return 0;

方法三

两个数的最小公倍数一定是这两个数每一个的倍数,那么我们结合方法二,只需要拿出二者之一,让它成倍的增长,然后判断每增长一倍后是否整除另一个数,这样既可以减少循环的次数,还不用判断两个数的大小,是不是比方法二简单很多。文章来源地址https://www.toymoban.com/news/detail-621378.html

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int i = 0;
	for (i = 1;; i++)
	{
		if (a * i % b == 0)
		{
			printf("%d\n", a * i);
			break;
		}
	}
	return 0;
}


到了这里,关于拿捏--->最小公倍数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言(求最小公倍数的3种方法)

    想要解开这题目首先要了解什么是最小公倍数 最小公倍数:是指能同时被a和b整除的最小正整数  例如:14 和 6  的最小公倍数有 42 84 126 最小的数就是最小公倍数 假设:a=6  b=18 那么最小公倍数怎么也不可能小于 18 1.先找出a和b中的最大数赋值给max,然后用 if 判断最大数ma

    2023年04月08日
    浏览(29)
  • 【C语言】两个整数最大公约数和最小公倍数

    输入两个整数,求这两个数的最大公约数和最小公倍数。 第一种求法(辗转相除法)这个方法代码较洁简,我也比较推荐就是刚开始有点比较难了解。 首先,来看看怎么求最大公约数,求最大公约数需要用到 欧几里得算法 ,也称为辗转相除法。算法就是用两数中较大的数

    2024年02月04日
    浏览(36)
  • 【c语言】—求最大公约数和最小公倍数多种方法

    目录 一.求最大公约数 1.枚举法求最大公约数 2.辗转相除法 二.求最小公倍数 1.枚举法求最小公倍数 2.简易法 3.公式法 思路:先求两个数中的最小值,最大公约数不可能大于两个数的最小数 比如6和18,最大公约数就是6 再如3和9,最大公约数就是3 然后再从1开始循环遍历到最小

    2024年02月08日
    浏览(47)
  • C语言 多种方法求最大公因数和最小公倍数

    最大公约数: 指能够整除多个整数的最大正整数,而多个整数不能都为零。 最小公倍数: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公因数 求最

    2024年02月05日
    浏览(25)
  • 【C语言】一篇博客带你弄懂最大公约数和最小公倍数

    我们在C语言的学习中,经常会遇到这样一些数学题目,良好掌握这些题目有利于我们理解和学习C语言,话不多说,直接进入主题 最大公约数: 首先我们举个例子,比如12 和16,12的约数有(1,2 ,3,4,6,12),16的约数有(1,2,4,8,16)公约数就是两个数共同的约数,(1,2,4)而公约数

    2024年02月04日
    浏览(38)
  • C语言——输入两个正整数m和n,求其最大公约数和最小公倍数

    目录 1.最大公约数求法 1.1辗转相除法 1.2相减法 2.最小公倍数求法 3.代码实现 4.结果展示 1.1辗转相除法 设有两整数a和b: a%b得余数c 若c==0,则b即为两数的最大公约数 若c!=0,则a=b,b=c,再回去执行第一步。 例如:求27和15的最大公约数过程为: 27÷15 余12 15÷12 余3 12÷3 余0 因

    2024年02月01日
    浏览(32)
  • C语言——输入两个正整数 m 和 n。求其最大公约数和最小公倍数。

    1、首先,程序通过printf函数提示用户输入两个正整数m和n,然后使用scanf函数接收用户的输入并将值分别存储到变量m和n中。 2、接下来,程序进入一个for循环,从1开始遍历直至i等于较小的数(m或n),检查当前数值i是否能同时整除m和n。如果i既能被m整除又能被n整除(即满足

    2024年02月03日
    浏览(36)
  • 809. 最小公倍数

    链接: 链接 题目: 输入两个整数 aa 和 bb,请你编写一个函数, int lcm(int a, int b) ,计算并输出 aa 和 bb 的最小公倍数。 输入格式 共一行,包含两个整数 aa 和 bb。 输出格式 共一行,包含一个整数,表示 aa 和 bb 的最小公倍数。 数据范围 1≤a,b≤10001≤a,b≤1000 输入

    2024年02月13日
    浏览(23)
  • Python求最小公倍数

    最小公倍数 :两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。 利用 Python 求最小公倍数(

    2024年02月06日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包