FREE PASCAL,输入两个数,vb求最小公倍数数

pascal中怎样求两个数的最小公倍数,用function做
pascal中怎样求两个数的最小公倍数,用function做 5
只要是用function做得就行,最好附带个方案的说明
var
a,b,c:int64;
function gbs(a,b:int64):int64;
var t,m,n:int64;
m:=a;
n:=b;
if (a&b) then
{将大的数给a,小的给b}
begin
t:=a;
a:=b;
b:=t;
while (b&&0)
{辗转相除法求两数的最大公约数}
{求最小公倍数:最小公倍数=两数之积 div 最大公约数}
begin
readln(a,b);
c:=gbs(a,b);
{调用函数}
writeln(c);
{输出最小公倍数}
end.
的感言:终于看到个明白答案了,能加我QQ么?
其他回答 (2)
此题不难,可以充分利用其数学特性来解决,有如下特征:两个数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积。而求两个数的最大公约数可以使用辗转相除法来实现,这个算法是比较常用的,就不用说了,下面是程序实现:
program Project2;
function lcm(a,b:integer):
var
r1,r2:
begin
if (a=0) and (b=0) then
else if b=0 then
else if a&&0 then
while a&&b do
if a&b then
lcm:=r1*r2
write('请输入两个数: ');
readln(a,b);
a:=lcm(a,b);
writeln('两数的最小公倍数为: ',a);
var
a,b:
function g(m,n:integer):
begin
if n=0 then g:=m
else g:=g(n,m mod n);
begin
read(a,b);
writeln(g(a,b));
等待您来回答
编程领域专家3个数的最小公倍数PASCAL_百度知道
3个数的最小公倍数PASCAL
用PASCAL制作
提问者采纳
如果只是三个数的最小公倍数的话。。那么就这样吧。。只要数字不太大就可以的。。program no5;
var a,b,c,d,i:
readln(a,b,c);
for i:=1 to 1000000 do
if ((d mod b)=0) and ((d mod c)=0) then
writeln(d);
提问者评价
其他类似问题
最小公倍数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁最大公约数和最小公倍数怎么求
最大公约数和最小公倍数怎么求 5
定义,加程序算法,谢谢。
&& 举个例吧,如4和6两个数,求它们的最大公约数和最小公倍数。利用短除法:2∟ 4&& 6
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 得2&&& 3,那么最大公约数就是2,最小公倍数就是2×2×3=12。
&&&&&&&&&& 关键要弄清最大公约数和最小公倍数的概念。公约数,就是能是所给出的数共同小化,就像是将分数简化一样。那么使得他们简化的数的乘积就是最大公倍数;若在乘上最终简化的结果数就是最小公倍数。
    如4和6可写成4/6,同时约去的只有2,那么2是最大公约数;约去后变为2/3,2×2×3=12,为最小公倍数。
如4和6可写成4/6,同时约去的只有2,那么2是;约去后变为2/3,
即2&2&3也可以说是最大公约数2
最大公约数*分子*分母,就是?
这我就不大会了,你可以去看一下好老师的书
的感言:谢谢 满意答案
& 你好!解法一时说不清 下面是在百度找的 希望对你有所帮助!
&&
1.公约数和最大公约数  几个数公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。  例如:12的约数有:1,2,3,4,6,12;  18的约数有:1,2,3,6,9,18。  12和18的公约数有:1,2,3,6.其中6是12和18的最大公约数,记作(12,18)=6。  2.公倍数和最小公倍数  几个数公有的倍数,叫做这几个数的公倍数;其中最小的一个,叫做这几个数的最小公倍数。  例如:12的倍数有:12,24,36,48,60,72,84,…  18的倍数有:18,36,54,72,90,…  12和18的公倍数有:36,72,….其中36是12和18的最小公倍数,
&
& 这样求最小公倍数
&&& 首先把两个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积(如果有几个质因数相同,则比较两数中哪个数有该质因数的个数较多,乘较多的次数)。& 比如求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*3270=2*3*3*3*5不同的质因数是5。2这个质因数在36中比较多,为两个,所以乘两次;3这个质因数在270个比较多,为三个,所以乘三次。最小公倍数等于2*2*3*3*3*5=540
&
& 这样求最大公约数
&&法一、 短除法 
 求最大公因数的一种方法,也可用来求最小公倍数。  求几个数最大公因数的方法,开始时用观察比较的方法,即:先把每个数的因数找出来,然后再找出公因数,最后在公因数中找出最大公因数。  例如:求12与18的最大公因数。  12的因数有:1、2、3、4、6、12。  18的因数有:1、2、3、6、9、18。  12与18的公因数有:1、2、3、6。  12与18的最大公因数是6。  这种方法对求两个以上数的最大公因数,特别是数目较大的数,显然是不方便的。
&
法二、&分解质因数法
&于是又采用了给每个数分别分解质因数的方法。  12=2×2×3  18=2×3×3  12与18都可以分成几种形式不同的乘积,但分成质因数连乘积就只有以上一种,而且不能再分解了。所分出的质因数无疑都能整除原数,因此这些质因数也都是原数的约数。从分解的结果看,12与18都有公因数2和3,而它们的乘积2×3=6,就是12与18的最大公因数。  采用分解质因数的方法,也是采用短除的形式,只不过是分别短除,然后再找公因数和最大公因数。如果把这两个数合在一起短除,则更容易。  从短除中不难看出,12与18都有公因数2和3,它们的乘积2×3=6就是12与18的最大公因数。与前边分别分解质因数相比较,可以发现:不仅结果相同,而且短除法竖式左边就是这两个数的公共质因数,而两个数的最大公因数,就是这两个数的公共质因数的连乘积。  
&&& 说到这里,请再求出12和18的最小公倍数
&&&& 12=2×2×3&&&& 18=2×3×3&&&& 即12和18的最小公倍数=2*2*3*3=36
&&&& 而12和18的最大公约数=2*3=6
&
附:有这一公式可以帮助:(只是在一般情况下适用)
&&&& 两数的乘积=它们的最大公约数*它们的最小公倍数
&&& 如:12*18=36*6
为什么是3*3*5
& 意思就是45=3×3×5& &因为这是45的所有& 并不是特指45=3×3×5& 所以才这样写
他的不可以 是1,3,5,15,45么,我再好好看看。
好吧 继续看 因为这里的*虽然不特指 但含有乘的性质 所以用*
的感言:谢谢~
其他回答 (1)
最大公因数:用辗转相除法
具体代码(pascal):
while a mod b=0 do
begin
c:=
a:=b;
b:=c;
b就是最大公因数
最小公倍数就是两数相乘除以最大公因数
为什么b要赋值给a啊,完全没用到啊
p=n*m;&&&&&&&&&&&&&&&&&&&&&&while (m!=0)&&&&&&&&&&&&&&&&& {r=n%m;&&&& n=m;  //&& n=m;完全没用到啊&&&& m=r;&}&cout&&"HCF="&&n&&&cout&&"LCD="&&p/n&&
对不起,我是用pascal语言的,还有,你为什么循环判断条件是while (m!=0),应当是(m%n!=0)啊
就算语言不同,算法也相同吧,按照你的
while a mod b=0 do
a:=b;    //这个有什么用啊,我就是不明白这点,你输出也没输出这个啊
等待您来回答
编程领域专家udo机械设计基础试题及答案tkw
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
xes输入两个正整数m和n,求最小公倍数,与最大公约数qwy
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 vb求最小公倍数 的文章

 

随机推荐