c语言-求两个数的最小公倍数

这次,我要写求两个数最大公约数和最小公倍数,我用不同的两种方式来求解
一、直接求法:
#include //头文件
int main() //主函数
{
int w,t,n,m,z,p; //定义变量类型,在使用变量之前,一定要先定义变量,定义时要包括变量的类型
scanf("%d%d",&n,&m); //用输入函数,在键盘上输入两个值
w=n*m;
while(m!=0) //使用循环,用辗转相除法求出最大公约数
{
if(n
{
p=n;
n=m;
m=p;
}
t=n%m;
n=m;
m=t;
}
z=w/n; //利用求出的最大公约数求出最小公倍数
printf("最大公约数=%d\n最小公倍数=%d",n,z); //输出求出的值
return 0;
}
二、利用函数:
int multiple(int x,int y) //定义一个函数(求最大公约数),包括函数类型与函数名称,形式参数
{
int m,t; //定义变量
while(y!=0) //利用循环求出最大公约数(辗转相除法)
{
if(x
{
m=x;
x=y;
y=m;
}
t=x%y;
x=y;
y=t;
}
return(x); //返回值,在函数中必须要有返回值(如果函数是void型,可以没有返回值)
}
int divisor(int x,int y) // 定义一个函数,用来求最小公倍数
{
int t,m,n;
m=x*y;
t=multiple(x,y); //调用求最大公约数的函数
n=m/x;
return(n);
}
#include //头文件
int main() //主函数
{
int n,m,t,k;
scanf("%d%d",&n,&m); //输入值
t=divisor(n,m); //调用函数
k=multiple(n,m);
printf("最小公倍数=%d\n最大公约数=%d",t,k); //输出所求的值
return 0;
}
以上就是我写的两种求最小公倍数和最大公约数的两种方法。

你可能感兴趣的:(c语言-求两个数的最小公倍数)