電話號碼上的英文字母排列組合 |
尚未結案
|
tabo
一般會員 發表:1 回覆:0 積分:0 註冊:2004-05-12 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 使用了 delphi 寫個 sample 給你參考, 這是非 recursive 的作法, 若要 recursive 的作法, 我再寫一個給你參考:
procedure TForm1.Button1Click(Sender: TObject); var aChar: Array[2..9] of string; sInput: string; slresult, sltemp: TStringList; i, j, k: integer; begin aChar[2] := 'ABC'; aChar[3] := 'DEF'; aChar[4] := 'GHI'; aChar[5] := 'JKL'; aChar[6] := 'MNO'; aChar[7] := 'PQRS'; aChar[8] := 'TUV'; aChar[9] := 'WXYZ'; sInput := Edit1.Text; // ex: '637' slresult:= TStringList.Create; sltemp := TStringList.Create; for i := 1 to Length(sInput) do begin sltemp.Clear; for j := 1 to Length(aChar[StrToInt(sInput[i])]) do begin if slresult.Count = 0 then sltemp.Add(aChar[StrToInt(sInput[i])][j]) else begin for k := 0 to slresult.Count -1 do begin sltemp.Add(slresult[k] aChar[StrToInt(sInput[i])][j]); end; end; end; slresult.Text := sltemp.Text; end; Memo1.Lines.Text := slresult.Text; // display the result! sltemp.Free; slresult.Free; end;ps. 637 的結果應該是 3 * 3 * 4 = 36 組, 你的 7 按鍵有少個 q 所以列出 27 組而已 !! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |