我想问一下是否有人可以解决以下问题:我应该如何使用Pascal中的随机函数来生成已经初始化的数字的随机组合(我的意思是我已经给出了值四个变量,我希望通过随机函数创建这四个数字的随机组合)。 提前谢谢!
罗西答案 0 :(得分:0)
var digits : array[0..3] of integer = (10,20,30,40);
i : integer;
begin
Randomize; // initialize the random generator. Only once per program
for i:=0 to 50 do
Writeln(digits[random(4)]);
end.
Writeln行绘制一个数字0< = x< 4 so 0..3,并在数字数组中查找,然后将其写入控制台输出。它绘制了50个随机数,然后退出。
答案 1 :(得分:0)
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.
我希望这可以提供帮助。 但是给定的初始值应该在0到9之间。
答案 2 :(得分:0)
如果您希望输出仅包含每个数字一次,那么您需要存储已在一组中选择的数字以防止再次选择它们。
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.