lzth.net
当前位置:首页 >> mAtlAB求最小公倍数函数 >>

mAtlAB求最小公倍数函数

1#include<iostream>2usingnamespacestd;3intmax(intx,inty)4{5inttemp;6if(x<y)7{8 temp=x;x=y;y=temp;9}10while(y!=0)11{12 temp=x%y;13 x=y;14 y=temp;15}16return(x);17}18intmin(intx,inty)19{20intmax(intx,inty);21inttemp;22 temp=max(x,y);23

主程序:x = input('输入第一个数:');y = input('输入第二个数:');m1 = max_comman_factor(x,y);m2 = x*y/m1;disp(['最大公约数:' num2str(m1)]);disp(['最大公倍数:' num2str(m2)]);子程序function z=max_comman_factor(a,b)

一个函数就够了:function [GCD,LCM] = GCDLCM(a,b)%GCD最大公约数%LCM最小公倍数r=1;s=a*b;while(r~=0) r=mod(a,b); a=b; b=r;endGCD=a;LCM=s/a;end调用:[maxC,minC]=GCDLCM(12,45)结果

%此函数计算最大公约数,辗转相除法 function c=MAXGYS(a,b) p=1; while(p~=0) p=MOD(a,b); a=b; b=p; end c=a; end%此函数计算余数 function p=MOD(a,b) if(a<b) p=a; else i=1; while((a-i*b)>=0) i=i+1; end p=a-(i-1)*b; end end%此主程序用于

1、matlab中函数min可以取矩阵每一列的最小值2、先将矩阵转置:B=A'3、再求转置后矩阵B的最小行值:min(B)

matlab 有自带的得到最大公约数和最小公倍数的函数. G=gcd(m,n)最大公约数,V=lcm(m,n)最小公倍数 %%%%%%%%%%%%%%%%%%%%%%%% function [a,b]=jisuan(m,n) if(m>n) k=n; else k=m; end for i=1:k if (mod(m,i)==0&mod(n,i)==0) a=i; end end zuidagongyinshu=a; b=m*n/a; zuixiaogongbeishu=b;

基本解答如下:(1-1):function [b,y] = by(m,n)b=lcm(m,n);%最小公倍数y=gcd(m,n);%最大公约数end(1-2):function t=sushu(n)m=floor(sqrt(n));for i=2:m if mod(n,i)==0 t=0;

先找两个数的最大公约数,例如:要求8和12的最小公倍数,就得先找出它们的最小公约数,8=4x2,12=4x3,可以看出他们的最大公约数为4,再用4x2x3即可求得其最小公倍数为24;同理,若求8和13的最大公倍数:8=1x8,13=1x13,则1为他们的最大公约数,再用1x8x13即可求得其最小公倍数为104

lcm函数用于求最小公倍数gcd函数用于求最大公约数

看上去没有问题啊 返回y是最大公约数,g是最小公倍数

hyfm.net | skcj.net | mtwm.net | dkxk.net | nmmz.net | 网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com