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