香港寵物小精靈村落 論壇

標題: Turbo Pascal LCM 編寫問題(急問) [打印本頁]

作者: Mr.狼    時間: 28/9/2008 08:32 PM
標題: Turbo Pascal LCM 編寫問題(急問)
點樣用Turbo Pascal寫計算L.C.M的程式???
作者: 鴨    時間: 28/9/2008 11:41 PM
我只懂基本pascal的寫法...@@

a,b為input number
i為check完結與否的boolean
z為數倍數number
a,b,z,LCM:integer;
i:boolean;

z:=1;
i:=false;
if a<=b then
begin
  While (i = false) and (z<b)do
   begin
    if (b mod (a*z) = 0) then
        i:=true;
  LCM:=a*z
      else
          z:=z+1;
    end;
   if  z=b then
       LCM:=a*b;
    if LCM<b then
       LCM:=b;
      
end
else
begin
       While (i = false) and (z<a)do
          begin
             if (a mod (b*z) = 0) then
                 i:=true;
               LCM:=b*z
      else
          z:=z+1;
    end;
   if  z=a then
       LCM:=a*b;
    if LCM<a then
       LCM:=a;
      
end;

紅字為第一次Debug後重整statment

抱歉我的程度只到中五...OTZ


[ 本帖最後由 RX78-2 於 29/9/2008 07:19 PM 編輯 ]
作者: orb    時間: 29/9/2008 01:42 AM
有冇興趣咁

var a,b,i,LCM:integer;
begin
readln(a,b);
for i:=1 to a*b do
if (i mod a = 0)and(i mod b = 0)
then begin
          LCM:=i;
          i:=a*b;
          end;
end.

可能慢D-_-但好像簡單
作者: 鴨    時間: 29/9/2008 06:24 PM
原帖由 EnTaSIa 於 29/9/2008 01:42 AM 發表
有冇興趣咁


可能慢D-_-但好像簡單

一個問題本就有很多寫法....
看看你的主要concern是甚麼吧...
作者: orb    時間: 29/9/2008 07:35 PM
var a,b,i,LCM:integer;
begin
readln(a,b);
for i:=1 to b do
if (a*i mod b = 0)
then begin
          LCM:=a*i;
          i:=b;
          end;
end.

把你的algorithm用我的方法簡潔地合體了




歡迎光臨 香港寵物小精靈村落 論壇 (https://proxy.archiver.hkpnve.pokebeacon.com/)Powered by Discuz! X3.2