求两整数的最公约数和最小公倍数,c语言
来源:百度知道 编辑:UC知道 时间:2024/07/09 00:11:39
1.求两整数的最公约数和最小公倍数。用一函数求最大公约数,用另一函数调用此函数求出最大公约数,并用求出的最大公约数求最小公倍数。
具体要求如下:
①用全局变量。将最大公约数与最小公倍数设为全局变量,在主函数中输出它们的值。
②不用全局变量。最大公约数和最小公倍数由被调模块返回值。
具体要求如下:
①用全局变量。将最大公约数与最小公倍数设为全局变量,在主函数中输出它们的值。
②不用全局变量。最大公约数和最小公倍数由被调模块返回值。
#include <stdio.h>
int gcd(int n1,int n2)
{/*最大公约数*/
int a,b,temp;
if(n1>n2) /*找出两个数中的较大值*/
{
temp=n1; n1=n2; n2=temp; /*交换两个整数*/
}
a=n1; b=n2;
while(b!=0) /*采用辗转相除法求最大公约数*/
{
temp=a%b;
a=b;
b=temp;
}
return a;
}
int lcm(int n1,int n2)
{/*最小公倍数*/
return n1*n2/gcd(n1,n2);
}
int main()
{
int n1,n2;
printf("请输入两个整数:");
scanf("%d%d",&n1,&n2);
printf("%d和%d的最大公约数是: %d\n",n1,n2,gcd(n1,n2));
printf("%d和%d的最小公倍是: %d\n",n1,n2,lcm(n1,n2));
}
做的漂亮,楼上高手!