如何寫一個求最大公因數的程式 |
尚未結案
|
flycat
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2004-10-19 發送簡訊給我 |
|
elvis1000
一般會員 ![]() ![]() 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
我用的是全部都檢查的方法,1..最小值(>=GCD),而且可求出n個數的GCD
Var ProgPath, TempPath:string; x:array[0..3] of integer=(30,15,120,90); //用來測試,求(30,15,120,90) implementation {$R *.DFM} function GetGCD(n:array of integer):integer; var h,l,i,j,Minn,d,count:integer; begin l:=Low(n); h:=high(n); Minn:=n[l]; d:=-1; for i:=l to h do begin if Minn>n[i] then Minn:=n[i]; end;//for for j:=1 to Minn do begin count:=0; for i:=l to h do begin if n[i] mod j<>0 then break else begin count:=count 1; if count=h-l 1 then d:=j; end;//else end;//for end;//for Result:=d; end; procedure TMainForm.FormCreate(Sender: TObject); begin Application.Title:=ProgName; ProgPath:=ExtractFilePath(Application.ExeName); TempPath:=GetTemporaryPath; ShowMessage(intToStr(GetGCD(x))); end;----------------------- God bless you! I am Dark_Angel.
------
----------------------- God bless you! I am Dark_Angel. |
writeman
初階會員 ![]() ![]() 發表:31 回覆:34 積分:28 註冊:2004-02-17 發送簡訊給我 |
|
flycat
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2004-10-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |