Random 如何生成已在Pascal中定义的数字的随机组合?

Random 如何生成已在Pascal中定义的数字的随机组合?,random,pascal,Random,Pascal,我想问一下,是否有人可以帮助解决以下问题:我应该如何使用Pascal中的随机函数来生成已经初始化的数字的随机组合(我的意思是,我给了四个变量值,我想通过随机函数来创建这四个数字的随机组合)。 提前谢谢 罗西 Writeln行绘制一个数字0 我希望这能有所帮助。 但是给定的初始值应该在0到9之间。如果希望输出仅包含每个数字一次,则需要将已选择的数字存储在一个集合中,以防止再次选择它们 const digits: array [0..3] of integer = (1, 3, 5, 7);

我想问一下,是否有人可以帮助解决以下问题:我应该如何使用Pascal中的随机函数来生成已经初始化的数字的随机组合(我的意思是,我给了四个变量值,我想通过随机函数来创建这四个数字的随机组合)。 提前谢谢

罗西

Writeln行绘制一个数字0 我希望这能有所帮助。
但是给定的初始值应该在0到9之间。

如果希望输出仅包含每个数字一次,则需要将已选择的数字存储在一个集合中,以防止再次选择它们

const
 digits: array [0..3] of integer = (1, 3, 5, 7); 

var
 i, n, total: integer;
 stored: set of integer;

begin
 Randomize;  
 stored:= [];
 total:= 0;
 for i:= 1 to 4 do
  begin
   repeat
    n:= random (4);
   until not (n in stored);
   stored:= stored + [n];
   total:= total * 10 + digits[n];
  end;
 writeln (total)
end.  

有点不清楚。是否要在每个结果中使用四位数字中的每一位一次且仅使用一次?或者只是随机挑选4个,并可能重复一些,而忽略了其他不时?嗨,谢谢你的回答,潜伏者!实际上我想做一个小程序,其中:我在开始时定义四个变量的de值(例如x1:=2;x2:=4;x3:=2和x4:=9),然后我想让计算机随机生成这四个数字的组合(例如2249或9224等)。此外,在程序中,程序的用户必须猜测这种组合。提前谢谢你!好吧,让我给你一个提示。13= 1*10 + 3*1
var
randomnumber,i:integer;
number:array[0..3] of integer; 

begin
    randomize;
    for i:= 0 to 3 do
    begin
        readln(number[i]);
    end;

    randomnumber:= (number[random(4)] * 1000) + (number[random(4)] * 100) + (number[random(4)] * 10) + (number[random(4)] * 1);
    writeln(randomnumber);

end.
const
 digits: array [0..3] of integer = (1, 3, 5, 7); 

var
 i, n, total: integer;
 stored: set of integer;

begin
 Randomize;  
 stored:= [];
 total:= 0;
 for i:= 1 to 4 do
  begin
   repeat
    n:= random (4);
   until not (n in stored);
   stored:= stored + [n];
   total:= total * 10 + digits[n];
  end;
 writeln (total)
end.