易语言求最大公约数和最小公倍数的代码

лл

第1个回答  2013-10-14
易语言没学过额。。。学的C++
第2个回答  2013-10-14
在几千年前,欧几里得提出了一种辗转相除法来求两个数的最大公约数。原理简述如下,详情可参见华罗庚的《数论引导》:设a、b皆为自然数,a>b,则一定有a=b*q1+R1(q1、r1为非负整数)。如果R1=0,则a=b*q1,所以a与b的最大公约数是b,如R1<>0,则有0 0,此时Rn就为ab的最大公约数。
至于求最小公倍数,也可用类似的办法。不过根据一个等式:a*b=ab的最大公约数*ab的最小公倍数(原理大家自己去想啦),可以更简单一点。由此可见,数学知识对编程来说是十分重要的本来我是想求最大公倍数的算法非常非常简单,就没有给出,没想到有人偏偏不依不饶地问算法,只有在这里补充一下了。  其实这个方法最早是我的小学数学老师教的,当然是在数学课上。具体的原理我不讲了(也没什么好讲的),直接给代码子程序:求最小公倍数返回值类型:整数型参数:大数 数据类型:整数型参数:小数 数据类型:整数型局部容器:n 数据类型:整数型局部容器:max 数据类型:整数型max = 大数容器循环首 (1, 小数, 1, n) 如果真 (max % 小数 = 0) 返回 (max) 如果真结束 max = max + 大数容器循环尾 () 返回 (0)
第3个回答  2013-10-14
你邮箱多少,我发到你邮箱里!
相似回答