求高手帮助,字母累加,感谢感谢!

snownxtbaby 2016-04-30 01:34:34
A-Z 26个字母,顺序累加
A,B,C,D,E……Z
然后是
BA,BB,BC,BD,BE……BZ
CA,CB,CC,CD,CE……CZ
依次类推到ZZ
下面又是
BAA,BAB,BAC……BAZ
BBA,BBB,BBC……BBZ
……………………


哪位高手给解决一下,十分感谢!
...全文
200 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
引用 5 楼 lyhoo163 的回复:
这是长度4的演示。结贴了!
感谢大侠,非常感谢你的回复,是我的需求没有说清楚,你的答案已经离我的需求很接近了,这两天我也试了一种方法,也可以达到我的需求,我是想实现的是传递字母组合,得到它的下一个字母组合,如: 传递A,得到B 传递Z,得到AA 传递BA,得到BB 传递ZZ,得到AAA 能再支援一下吗?非常感谢!
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
问题解决,感谢各位!感谢善意的帮助和无意的激励!!!!!!!!!!
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
呵呵,高手呀
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
引用 10 楼 DelphiGuy 的回复:
这就是10进制和26进制互转,毫无难度的东西,楼主自己写吧,不要总是在网上骗退休老干部帮你做这做那。
你可以不帮助,没必要在这里编排别人,把“骗”送给你吧!
  • 打赏
  • 举报
回复
我只是开个玩笑,如果有退休老干部愿意帮你,那自然是极好的。
  • 打赏
  • 举报
回复
这就是10进制和26进制互转,毫无难度的东西,楼主自己写吧,不要总是在网上骗退休老干部帮你做这做那。
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
就好像数学的1+1要得到2,9+1要得到10
snownxtbaby 2016-05-03
  • 打赏
  • 举报
回复
引用 7 楼 lyhoo163 的回复:
传递A,一个后续字符 得到从AA.AB..AZA...要求连续多少个字符,还有长度? 请讲清楚?
只得到它的后续一个组合就可以,就是在传递的字母组合上加1,得到它的下一个组合。 传递A,只得到B 传递Z,只得到AA 传递BA,只得到BB 传递ZZ,只得到AAA 这是不是变成了字母的累加,好像90进制似的,呵呵
lyhoo163 2016-05-03
  • 打赏
  • 举报
回复
传递A,一个后续字符 得到从AA.AB..AZA...要求连续多少个字符,还有长度? 请讲清楚?
lyhoo163 2016-05-02
  • 打赏
  • 举报
回复
这是长度4的演示。结贴了!
lyhoo163 2016-05-02
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function GetStr(K:integer):String;
var i,j,l:integer;
c: Char;
S,SS:string;
MyList:TStringList;
begin
MyList:=TStringList.Create;
i:=64;
j:=0;
ss:='';
repeat
i:=i+1;
C:=Char(i);
S:=SS+C;
MyList.Add(S);
if i=90 then begin
SS:=MyList.Strings[j];
J:=J+1;
i:=64;
end;
l:=length(SS);
until l>k-1;
GetStr:=MyList.Text;
MyList.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text:=GetStr(StrToInt(Edit1.text));
end;

end.

lyhoo163 2016-05-01
  • 打赏
  • 举报
回复
明天传给你,清晨已写好函数。白天去了植物园。回来不开机了。
  • 打赏
  • 举报
回复
#1这个方法是错的,楼主的问题实质是n位26进制数的表示方法。
pathletboy 2016-04-30
  • 打赏
  • 举报
回复
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes;

procedure gen(const save: TStringList; depth: Integer);
var
  i: Integer;
  l: Integer;
  c: Char;
begin
  save.Clear;
  for c := 'A' to 'Z' do
  begin
    save.Add(c);
  end;
  l := 1;
  while l < depth do
  begin
    for i := 0 to save.Count - 1 do
    begin
      for c := 'A' to 'Z' do
      begin
        save.Add(save[i] + c);
      end;
    end;
    Inc(l);
  end;
end;

var
  x: TStringList;

begin
  x := TStringList.Create;
  try
    gen(x, 4);
    x.SaveToFile('out.txt');
  finally
    x.Free;
  end;   
end.

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧