【C语言初阶】求最小公倍数的三种方法
文章目录
- 一、循环求解
- 二、辗转相除法
- 三、找最小 i 值
一、循环求解
- 首先两个数的最小公倍数一定大于两个数中较大的那个,且小于两数之积
- 找出a与b之间的较大值max
- 利用循环,令i=max,不断++,当i能同时整除a与b时,输出i,跳出循环
- 即i为最小公倍数
代码如下:
#include <stdio.h>
int main() {int a, b;scanf("%d %d", &a, &b);int max = a > b ? a : b; //找出较大值int i = 0;for (i = max; i <= a*b; i++) {if (i%a == 0 && i%b == 0) {printf("%d\n", i);break;//跳出循环}}return 0;
}
二、辗转相除法
以除数和余数反复做除法运算,当余数为 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;
}
三、找最小 i 值
- 一定会有一个整数k能够使k/a=i,k/b=j;
- a * i为整数表示k为a的倍数,k%b为0表示k为b的倍数,即(a * i)%b==0,此时a和b的公倍数为k,即a * i;
- 要求最小公倍数即找出符合要求的最小的 i 值即可。
代码如下:
#include<stdio.h>
int main() {int a, b;scanf("%d %d", &a, &b);int i = 1;//i从1开始找while (a*i % b) {//(a*i)%b==0时为假,结束循环i++;}printf("%d\n", a*i);return 0;
}
【C语言初阶】求最小公倍数的三种方法相关推荐
- 求最小公倍数的三种方法(C语言)
求最小公倍数的三种方法 1.常规暴力求解法 2.辗转相除法 3.迭乘法 //1.常规暴力求解法 #include <stdio.h> int main() {int a = 0;int b ...
- C语言求最小公倍数的三种方法
第一种方法:累加法求 思路是,两个数字,要求他们的最小公倍数,那么这个最小公倍数,至少不要比这两个要求的数小.我们首先判断出两个数中较大的一个,然后判断这个数是否是要求的两个数的最小公倍数.如果不是, ...
- C语言求最大公约数三种方法详解
C语言求最大公约数三种方法详解 题目要求 常用写法(穷举法) 辗转相减法 辗转相除法 main函数 整体代码 题目要求 运行最大公约数的常用算法,并进行程序的调式与测试. 常用写法(穷举法) 从两个数 ...
- java中隐函数求导法则_隐函数求导的三种方法
this.p={ m:2, b:2, loftPermalink:'', id:'fks_085075084086088070081083074065081087082066093087080', b ...
- python求平方根的三种方法
python求平方根的三种方法 题干描述 题目解答 题干描述 没啥好说的qwq,求根号下x,并舍弃小数部分,只保留整数 题目解答 方法一:不多bb,直接0.5次方(这应该是最没有营养的解法,面试官估计 ...
- 如何用计算机求最小公倍数的方法,快速求最小公倍数的四种方法(小学的题目额!) 假如用C求呢??...
快速求最小公倍数的四种方法 最近,在教学国标本五年级下册关于求最小公倍数时,从学生反映的作业情况来看,学生还是很容易做错的,为此我总结出了四种如何求最小公倍数的方法. 如果两个数是互质数(即两数的最大 ...
- C语言(求最小公倍数的3种方法)
想要解开这题目首先要了解什么是最小公倍数 最小公倍数:是指能同时被a和b整除的最小正整数 例如:14 和 6 的最小公倍数有 42 84 126 最小的数就是最小公倍数 假设:a=6 b=18 那 ...
- c语言程序π,C语言求圆周率π(三种方法)
题目1) 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止. 题目2) 根据公式②,用前100项之积计算π的值. 题目1)提供了一种解法,题目2)提供了两种解法,请看解析. 题目1) ...
- c语言求圆周率 . 4,C语言求圆周率π(三种方法)(4页)-原创力文档
C语言求圆周率π(三种方法) 题目1) 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止.题目2) 根据公式②,用前100项之积计算π的值.题目1)提供了一种解法,题目2)提供了两种 ...
最新文章
- Makefile和Shell学习笔记
- C#基础篇--文件(流)
- RedHat Enterprise Linux 5下配置Apache+Mysql+Php
- java思考笔记——遍历Map-key的几种方法
- java登录注册升级代码_【升级版】Java 登录,注册,传数据到后台小案例
- activemq消息持久化_将ActiveMQ持久消息传递性能提高25倍
- C语言正函数nosign,C语言标准库函数查询手册.docx
- java 并发编程框架
- 枚举进程ID并且获得进程路径
- 用treeview遍历文件夹(vb)
- Brownie Slicing(二分枚举答案)
- . mindoc linux amd64,搭建minDoc文件接口服务器
- rxj热血江hsf湖私服_如何使用RxJ进行React性思考和动画化移动对象
- 使用高德地图API实现历史轨迹查询
- 跨越“数字鸿沟”,日本老年智能化服务的解法
- 常见数学中的特殊符号
- 客快物流大数据项目(六十七):客户主题
- 20181103 Nginx(布尔教育)
- Cordova中第三方UI插件的使用(2)--Topcoat
- linux设置环境变量将动态库加入环境变量步骤