当前位置:网站首页>求最大公约数与最小公倍数(C语言)
求最大公约数与最小公倍数(C语言)
2022-07-07 08:12:00 【璞玉牧之】
一、题目
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数。两个整数由键盘输入。
二、分析及代码
1.思路
- 最大公约数:两个或多个整数共有约数中最大的一个。利用辗转相除法计算。
- 最小公倍数:两个或多个整数共有倍数中除0外最小的一个。由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积,所以,两个数的最小公倍数等于这两个数的乘积除最大公约数。
- 分析思路:分别定义两个函数,和两个变量a,b。第一个函数用辗转相除法求a,b的最大公约数,假设a>b,令a/b得到余数r,再将b作为被除数,r作为除数,得到余数…直至余数为0。第二个函数利用上述公式可求得两个数的最小公倍数。
2.代码
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int Greatest_Common_Divisor(int a,int b); //函数声明
int Least_Common_Multiple(int a,int b,int m); //函数声明
int a,b,m,x;
scanf("%d,%d",&a,&b);
m=Greatest_Common_Divisor(a,b);
x=Least_Common_Multiple(a,b,m);
printf("%d和%d的最大公约数是:%d\n",a,b,m);
printf("%d和%d的最小公倍数是:%d\n",a,b,x);
return 0;
}
int Greatest_Common_Divisor(int a,int b) //求最大公约数
{
int temp,r;
if(b>a) //让两个数中较大的数作为被除数
{
temp=a;
a=b;
b=temp;
}
while((r=a%b)!=0)
{
a=b; //使除数b变为被除数a
b=r; //使余数r变为除数b
}
return b;
}
int Least_Common_Multiple(int a,int b,int m) //求最小公倍数
{
return (a*b/m);
}
3.运行结果
边栏推荐
- HAL库配置通用定时器TIM触发ADC采样,然后DMA搬运到内存空间。
- 反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释
- SolidWorks工程图中添加中心线和中心符号线的办法
- Appx code signing Guide
- Inno Setup 打包及签名指南
- MCU与MPU的区别
- Several schemes of building hardware communication technology of Internet of things
- Official media attention! The list of top 100 domestic digital collection platforms was released, and the industry accelerated the healthy development of compliance
- 基于gis三维可视化技术的智慧城市建设
- 虚数j的物理意义
猜你喜欢
Chris Lattner, père de llvm: Pourquoi reconstruire le logiciel d'infrastructure ai
Inno Setup 打包及签名指南
Introduction to energy Router: Architecture and functions for energy Internet
The request object parses the request body and request header parameters
Appx代碼簽名指南
The landing practice of ByteDance kitex in SEMA e-commerce scene
基于gis三维可视化技术的智慧城市建设
[higherhrnet] higherhrnet detailed heat map regression code of higherhrnet
Fiddler break point
Pdf document signature Guide
随机推荐
Some test points about coupon test
Es classes and objects, prototypes
Programming features of ISP, IAP, ICP, JTAG and SWD
【ORM框架】
Postman interface test V
The new activity of "the arrival of twelve constellations and goddesses" was launched
ORM -- logical relation and & or; Sort operation, update record operation, delete record operation
C#记录日志方法
ES6中的原型对象
Word自动生成目录的方法
IPv4套接字地址结构
LLVM之父Chris Lattner:為什麼我們要重建AI基礎設施軟件
每周推荐短视频:L2级有哪些我们日常中经常会用到的功能?
. Net configuration system
Weekly recommended short videos: what are the functions of L2 that we often use in daily life?
ArcGIS operation: batch modify attribute table
The Hal library is configured with a general timer Tim to trigger ADC sampling, and then DMA is moved to the memory space.
Chris LATTNER, the father of llvm: why should we rebuild AI infrastructure software
Or in SQL, what scenarios will lead to full table scanning
Several schemes of building hardware communication technology of Internet of things