C语言函数编写,求两个整数的最大公约数和最小公倍数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言函数编写,求两个整数的最大公约数和最小公倍数相关的知识,希望对你有一定的参考价值。

C语言函数编写,求两个整数的最大公约数和最小公倍数

编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:

#include<stdio.h>

#include<math.h>

int fun_gy(int,int);  //声明最大公约数函数

int fun_gb(int,int);  //声明最小公倍数函数

main()

int a,b,gy,gb;

printf("输入两个整数:\\n");

scanf("%d%d",&a,&b);

gy=fun_gy(a,b);   //调用最大公约数函数

gb=fun_gb(a,b);  //调用最小公倍数函数

printf("最大公约数是:%d\\n最小公倍数是:%d\\n",gy,gb);

int fun_gy(int x,int y)

int z,i;

if(x>y)

z=sqrt(y);

else 

z=sqrt(x);

for(i=z;i>=1;i--)

if(x%i==0&&y%i==0)

break;

return i;

int fun_gb(int x,int y)

int z,i; 

z=x*y;

for(i=x;i<=z;i++)

if(i%x==0&&i%y==0)

break;

return i;

程序运行结果:

扩展资料:

这里涉及到了最大公约数和最小公倍数的计算方法:

我们知道两个整数的最小公倍数等于他们的乘积除以他们的最大公约数。所以关键还是最大公约数的计算。

辗转相除法(求最大公约数):

假设求a,b的最大公约数,则:

(1)a除以b取余得c,若c=0,则b即为两数的最大公约数,输出,结束。

(2)若c  != 0,则将b赋给a,c赋给b再返回上一步操作,继续执行。

例如,求30和98的最大公约数,过程如下:

90%30 = 8;

30%8 = 6;

8%6 = 2;

6%2 = 0;

所以最大公约数为2。

参考技术A #include <stdio.h>
void fun(int m,int n)
int a=m,b=n,r;
while(b) r=a%b;a=b;b=r;
printf("\\n最大公约数%d\\n最小公倍数%d\\n",a,m*n/a);

//以上为求两个正整数最大公约数、最小公倍数的函数,以下为主函数
void main()
int m,n;
scanf("%d%d",&m,&n);
fun(m,n);

参考技术B 新语言函数编写求两个整数的最大公约和最小公约,这个你可以去问老师,嗯,因为老师他们知道的比较具体,会给你们相关的回答。

Python 如何求得两个数的最大公约数

参考技术A 一、求最大公约数算法:

1. 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B

2. 如果C等于0,则C就是整数A和整数B的最大公约数

3. 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2 两步,直到余数为0, 则可以得知最大公约数

二、根据算法,实现Python程序

程序输出结果:

更多学习课程以及资料 加Q群 313074041 领取

以上是关于C语言函数编写,求两个整数的最大公约数和最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

c语言(北京理工大学mooc 下)

C语言编程:输入两个正整数,输出其中最大公约数和最小公倍数。

求GCD和LCM,即指求最大公约数和最小公倍数。

用Lua 编写找出两个数的最大公约数,要怎么编写

求一个用c语言编写的,编写函数计算两个整数的所有公约数的编程

C++语言编写两个函数 gcd 和 lcm