⑴ 求两个数字的最大公倍数和最小公约数的算法是怎么样的
如果是你敲错了字(不是脑筋急转弯)的话,
求两个数字的最大公约数和最小公倍数的方法:
可以先用辗转相除法求出这两个数的最大公约数,
再用这两个数的乘积除以它们的最大公约数,就得到它们的最小公倍数。
用计算机C语言实现的程序如下:
设两个整数为u和v,用辗转相除法求最大公约数的算法。最小公倍数=uv/最大公约数。
程序如下:
#include <stdio.h>
int hcf(int u,int v)
{ int t,r;
if(v>u)
{ t=u;u=v;v=t;}
while((r=u%v)!=0)
{ u=v;
v=r;
}
return(v);
}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
main( )
{ int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);
printf("L.C.D=%d\n",l);
}
运行结果如下:
24,16↙
H.C.F=8
L.C.D=48
⑵ 最大公倍数怎么求
辗转相除法【辗转相除法】又叫做“欧几里得算法”,是公元前 300 年左右的希腊数学家欧几里得在他的着作《几何原本》提出的.利用这个方法,可以较快地求出两个自然数的最大公因数,即 HCF 或叫做 gcd.所谓最大公因数,是指几个数的共有的因数之中最大的一个,例如 8 和 12 的最大公因数是 4,记作 gcd(8,12)=4. 在介绍这个方法之前,先说明整除性的一些特点,注以下文的所有数都是正整数,以后不再重覆. 我们可以这样给出整除以的定义: 对于两个自然数 a 和 b,若存在正整数 q,使得 a=bq,则 b 能整除 a,记作 b | a,我们叫 b 是 a 的因数,而 a 是 b 的倍数. 那么如果 c | a,而且 c | b,则 c 是 a 和 b 的公因数. 由此,我们可以得出以下一些推论: 推论一:如果 a | b,若 k 是整数,则 a | kb.因为由 a | b 可知 ha=b,所以 (hk)a=kb,即 a | kb. 推论二:如果 a | b 以及 a | c,则 a | (b±c).因为由 a | b 以及 a | c,可知 ha=b,ka=c,二式相加,得 (h+k)a=b+c,即 a | (b+c).同样把二式相减可得 a | (b-c). 推论三:如果 a | b 以及 b | a,则 a=b.因为由 a | b 以及 b | a,可知 ha=b,a=kb,因此 a=k(ha),hk=1,由于 h 和 k 都是正整数,故 h=k=1,因此 a=b. 辗转相除法是用来计算两个数的最大公因数,在数值很大时尤其有用而且应用在电脑程式上也十分简单.其理论如下: 如果 q 和 r 是 m 除以 n 的商及余数,即 m=nq+r,则 gcd(m,n)=gcd(n,r). 证明是这样的: 设 a=gcd(m,n),b=gcd(n,r) 则有 a | m 及 a | n,因此 a | (m-nq)(这是由推论一及推论二得出的),即 a | r 及 a | n,所以 a | b 又 b | r 及 b | n,所以 b | (nq+r),即 b | m 及 b | n,所以b | a.因为 a | b 并且 b | a,所以 a=b,即 gcd(m,n)=gcd(n,r). 例如计算 gcd(546, 429), 由于 546=1(429)+117, 429=3(117)+78, 117=1(78)+39, 78=2(39),最小公倍数就是2个数的积除以最大公约数
⑶ HCF中文是什么意思
HCF,全称是Hermetically Coated Fiber,即密封涂层光纤。
希望能帮到你,麻烦给“好评”
⑷ HCF代表什么意思
最大公约数,Highest Common Factor(HCF)。
在求解最大公约数的几种方法中,辗转相除法最为出名。辗转相除法是仍然在使用的历史最悠久的算法之一。它首次出现于几何原本(卷7命题1–2、卷10命题2–3)(大约公元前300年)。
在卷7中用于整数,在卷10中用于线段的长度(也就是所说的实数,但是当时未有实数的概念)。卷10中出现的算法是几何的,两段线段a和b的最大公约数是准确测量a和b的最大长度。
这个算法可能并非欧几里得发明,而仅仅是将先人的结果编进他的几何原本。数学家、历史学家范德瓦尔登认为卷7的内容可能来自毕达哥拉斯学院出身的数学家写的关于数论的教科书。
辗转相除法是被大约公元前375年的欧多克斯发现的,但也有可能更早之前就已经存在,因为欧几里得和亚里士多德的这两位历史名人着作中都出现了ἀνθυφαίρεσις一词(anthyphairesis,意为“辗转相减”)。
常用结论
在解有关最大公约数、最小公倍数的问题时,常用到以下结论:
1、如果两个自然数是互质数,那么它们的最大公约数是1,最小公倍数是这两个数的乘积。
例如8和9,它们是互质数,所以(8,9)=1,[8,9]=72。
2、如果两个自然数中,较大数是较小数的倍数,那么较小数就是这两个数的最大公约数,较大数就是这两个数的最小公倍数。
例如18与3,18÷3=6,所以(18,3)=3,[18,3]=18。
3、两个整数分别除以它们的最大公约数,所得的商是互质数。
例如8和14分别除以它们的最大公约数2,所得的商分别为4和7,那么4和7是互质数。
4、两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积。
例如12和16,(12,16)=4,[12,16]=48,有4×48=12×16,即(12,16)× [12,16]=12×16。
⑸ 最小公倍数算法
(1)分解质因数法
先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积(如果有几个质因数相同,则比较两数中哪个数有该质因数的个数较多,乘较多的次数)。
比如求45和30的最小公倍数。
45=3*3*5
30=2*3*5
不同的质因数是2,3,5。3是他们两者都有的质因数,由于45有两个3,30只有一个3,所以计算最小公倍数的时候乘两个3.
最小公倍数等于2*3*3*5=90
又如计算36和270的最小公倍数
36=2*2*3*3
270=2*3*3*3*5
不同的质因数是5。2这个质因数在36中比较多,为两个,所以乘两次;3这个质因数在270个比较多,为三个,所以乘三次。
最小公倍数等于2*2*3*3*3*5=540
20和40的最小公倍数是40
(2)公式法
由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数。
例如,求[18,20],即得[18,20]=18×20÷(18,20)=18×20÷2=180。求几个自然数的最小公倍数,可以先求出其中两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数,依次求下去,直到最后一个为止。最后所得的那个最小公倍数,就是所求的几个数的最小公倍数。
⑹ 权重轮询调度算法(Weighted Round-Robin Scheling) [C语言实现]
weight[i+1] = a % weight[i+1];
这句话导致后面的weight为0