为什么a,b要交换?a*b/h又是个什么意思,咱就是说真的整不明白,后面的h=hcf(a,b),l=lcd(a,b,h)又是什么意思,cpu要烧了
这是辗转相除法,是古人研究出来的一种方法,和编程无关
h是a和b的最大公约数,那么a*b/h就是a和b的最小公倍数,比如a=4,b=6,则h=2,所以 4 * 6/2 = 12就是最小公倍数
a和b交换是因为后续循环不断判断a%b的结果,这要求a必须是两个数中较大的数才行,因此当a<b时,需要交换值才可以
交换是为了确保 a>b,然后计算 a%b的值,a*b/h,就是a乘以b然后除以h,后面的h=hcf(a,b),l=lcd(a,b,h)就是调用hcf方法跟lcd方法,然后返回对应值