1234随机组成一个8位的整数有什么好算法吗。(50分)

  • 主题发起人 主题发起人 yunxi126
  • 开始时间 开始时间
Y

yunxi126

Unregistered / Unconfirmed
GUEST, unregistred user!
1234随机组成一个8位的整数有什么好算法吗。
1234随机组成一个8位的整数有什么好算法吗。
 
没人会吗。 。。。加分。。。300分。。
 
for i := 0 to 7 do
begin
.....
end
 
function Get8weiInt:integer;
var
i:integer;
st:string;
begin
st:='';
Randomize;
for i:=0 to 7 do
begin
st:=st+inttostr(random(3)+1);
end;
result:= strtoint(st);
end;
 
用RandomFrom函数。
 
1 2 3 4 都转换成二进制为 01 10 11 00
最简单的写法是Random,但是考虑到数目比较小,效率最高的是采用查询表方式:
P(4,4) = 4*3*2=24;
CDataTable = array[1..24] of Byte= (108, 177, ...); // 可以自动生成!
因此
begin
Randomize;
Result := CDataTable[Random(24)];
end;
 
用 bmsr 的方法吧
 
to xiammy
好像应该是4的8次方65536种排列吧?
 
一个数字占2位:)
 
哦!你是这样理解的,那我也不知道了,看楼主是什么要求!
 
搜密码字典代码 也许就能够解决问题
 
我要把所有的从11111111 到44444444
全显出来。。。到memo1.text里面。
 
把这65536个数全显到memo1.text 中。。
 
randomize;
for I ;= 1 to 4 do
Result := Result + Inttostr(random(3)+1);
 
哦,是8位,改到8 ,在strtoint下
 
11111111 到 44444444 ?
最苯的办法
For I := 11111110 to 44444443 do
begin
s := Inc(i);
Memo1.lines.add(inttostr(s));
end;
 
现在我不要随机数了。我想要从11111111到4444444都排出来
例如
11111111
11111112
11111113
11111114
11111121
.
.
44444443
44444444
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3578219 加到200分了。
 
接受答案了.
 
后退
顶部