编写一个函数,计算并返回正整数m和n的最大公约数和最小公倍数?
编写一个函数,计算并返回正整数m和n的最大公约数和最小公倍数?
编写一个函数,计算并返回正整数m和n的最大公约数和最小公倍数?
编写一个函数,计算并返回正整数m和n的最大公约数和最小公倍数?
#include
intmax(intx,inty)//求最大公约数
{
intt;
t=xb?a:b;
for(;;f++)
if(f%a==0&&f%b==0)break;
returnf;
}
voidmain()
{
intm,n,w,c;
scanf("%d%d",&m,&n);
w=max(m,n);
c=min(m,n);
printf("%dn%dn",w,c);
}
/*利用辗转相除法求最大公约数*/
intgcd(intn,intm)
{
intr;
while(r=n%m){/*余数为0*/
n=m;
m=r;
}
returnm;/*n%m==0所以返回m*/
}
main()
{
inta,b,num1,num2,temp;
printf("pleaseinputtwonumbers:n");
scanf("%d,%d",&num1,&num2);
if(num1{temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%dn",a);
printf("gongbeishu:%dn",num1*num2/a);
}
最小公倍数
几个数公有的倍数叫做这几个数的公倍数,其中最小的一个叫做这几个数的最小公倍数。
.
最大公约数
拼音:zuìdàgōngyuēshù
英语:greatestcommondivisor
最大公约数(greatestcommondivisor,简写为gcd;或highestcommonfactor,简写为hcf),指某几个整数共有因子中最大的一个。
例如,12和30的公约数有:1、2、3、6,其中6就是12和30的最大公约数。
两个整数的最大公约数主要有两种寻找方法:
*两数各分解质因子,然后取出同样有的项乘起来
*辗转相除法(扩展版)
和最小公倍数(lcm)的关系:gcd(a,b)×lcm(a,b)=ab
两个整数的最大公因子可用于计算两数的最小公倍数,或分数化简成最简分数。
两个整数的最大公因子和最小公倍数中存在分配律:
*gcd(a,lcm(b,c))=lcm(gcd(a,b),gcd(a,c))
*lcm(a,gcd(b,c))=gcd(lcm(a,b),lcm(a,c))
在座标里,将点(0,0)和(a,b)连起来,通过整数座标的点的数目(除了(0,0)一点之外)就是gcd(a,b)。