pascal求最大公約數,Pascal求最大公約數

2021-12-16 15:21:49 字數 2404 閱讀 1375

1樓:遊海穎

求兩個整數的最大公約數(輾轉相除法)

程式如下:

varm , n : integer;

function fac(i, j:integer):integer;

begin

if j=0 then begin fac:=i;exit;end;

fac:=fac(j ,i mod j);

end;

begin

readln(n, m);

writeln(fac(n,m));

end.

或var

a,b:integer;

procedure qw(a,b:integer);

varv:integer;

begin

if a mod b=0 then writeln(b)else if b mod a=0 then writeln(a)else

begin

v:=a;

a:=a mod b;

b:=b mod v;

qw(a,b);

end;

end;

begin

readln(a,b);

qw(a,b);

readln;

end.

2樓:

把第3行的1..n改為1..10(要一個定值,在var下的都是變數,他會認為你的陣列相當的大,超過了計算機能處理的範圍)

free pascal 求最大公約數與最小公倍數

3樓:匿名使用者

var n,m,r,t,a:integer;

begin

readln(n,m);

a:=n*m;

if n0) do

begin

n:=m;

m:=r;

r:=n mod m;

end;

writeln(m,' ',a div m);

end.

m為最大公約數,a div m為最小公倍數

4樓:匿名使用者

有點晚了……

vari,j,m,n,min,max:longint;

f:boolean;

begin

readln(m,n);

if m>n then begin i:=m;m:=n;n:=i;end;

for i:=m downto 1 doif(m mod i=0)and(n mod i=0)then begin min:=i;break;end;

i:=n;

while(i mod m<>0)or(i mod n<>0)do inc(i);

max:=i;

writeln(min);

writeln(max);

end.

pascal二進位制數最大公約數和最小公倍數(用自定義函式)

5樓:匿名使用者

var a,b:string;xy,x,y,n:longint;

function ezs(a:string):longint;

varc:array[1..30] of longint;

s,l,i:longint;

begin

l:=length(a);

c[l]:=1;

for i:=l-1 downto 1 doc[i]:=c[i+1]*2;

s:=0;

for i:=1 to l do

s:=s+(ord(a[i])-48)*c[i];

ezs:=s;

end;

procedure sze(a:longint);

var s:array[1..1000] of longint;i,j:longint;

begin

i:=0;

while a<>0 do

begin

i:=i+1;

s[i]:=a mod 2;

a:=a div 2;

end;

for j:=i downto 1 do write(s[j]);

end;

begin

readln(a);x:=ezs(a);

readln(b);y:=ezs(b);

xy:=x*y;

while x mod y<>0 do

begin

n:=x;

x:=y;

y:=n mod y;

end;

sze(y);

write(' ');

sze(xy div y);

writeln;

end.

vb語言求最大公約數,使用vb求最大公約數的兩種方法是什麼?

private sub gys m as integer,n as integer 求出兩個數的最大公約數 dim r as integer r m mod n do while r 0 m n n r r m mod n loop end sub private sub command1 clic...

最大公約數的規律

網上有的,查一下就知道了 在特殊情況下求最大公因數,最小公倍數的幾條規律.最小公倍數 可以使用整除法。一直除到兩個數互質,那麼所有除數的乘積即最大公約數而最小公倍數則是所有的因子,商相乘 例如64,40 2 64 40 除以2,2 32 20 商32,20 2 16 10 繼續除以2,商16,10 ...

求36963與59570的最大公約數

通過觀察容易發現,36963有約數3 3。而59570沒有質數3。59570有質因數2和5,而36963沒有質因數2和5。所以可以從36963中分解出3 3,從59570中分解出2 5,再求其餘部分的最大公約數。36963 3 3 4107 59570 2 5 5957 輾轉相除法 用大數除以小數再...