pascal 輸入兩個正整數,,求最大公約數值和最小公倍數

2021-09-03 05:01:26 字數 1925 閱讀 2632

1樓:新超級賽亞人

最大公約數:

function zdgys(a,b:integer):integer;

begin

if a mod b=0 then zdgys:=belse zdgys:=zdgys(b,a mod b);

end;

vara,b:integer;

begin

readln(a,b);

writeln(zdgys(a,b));

end.

最小公倍數

vara,b,t:integer;

begin

readln(a,b);

if awhile a mod b <>0 do a:=a+1;

writeln(a);

end.

2樓:水疏奈雅

題目不清楚,問問老師,老師會告訴你的

c++實現輸入兩個正整數m和n,求其最大公約數和最小公倍數?

3樓:凌亂心扉

#include "stdio.h"

void main()

}if(i == c+1)

printf("沒有最大公約數 ");

c = m > n ? m : n ;           // 取 m n 中較大的數,賦值給c //

for (i = c ; i <= m*n; i++)}}

4樓:

#include

using namespace std;

int main()

num1 = a;

num2 = b;

while(num2 != 0)

cout << "最大公約數為:" << num1<< " 最小公倍數為:" << (a * b) / num1 << endl;

return 0;}

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.

C語言程式設計輸入兩個正整數m和n,求它們的最大公約數

及註釋如下 include int int a,int b 定義函式,用來計算最大公約數 int main include void main c a b printf 最大公約數 d b 輸入 20 60 輸出 20 main a num1,b num2 while b 0 輾轉取餘演算法 pri...

程式設計c語言輸入兩個正整數mn計算它們的最大公

include includeint main void printf n d d i,m n i return 0 c語言程式設計,輸入兩個正整數m和n,求其最大公約數和最小公倍數?include int main a num1 b num2 while b 0 printf gongyueshu...

輸入正整數a和n,求a aa aaa aa a(n個a

是 2 22 222 你的程式是 2 2 2 2 2 2 如果不考錄溢位的話 你可以 用 for int i 0 i 如果是這個3 33 333 369,你那就錯了,你那程式只是符合特別的 這個可以滿足你的要求 include include int main void sum a printf s...