发布网友 发布时间:2024-10-23 21:23
共3个回答
热心网友 时间:2024-10-30 23:41
首先,你这道题用到了fp中的随机函数random,不过要注意在用random之前需要在其前加randomize进行初始化,否则random出来的是同一个数
random用法:
random(n) 表示随机生成的数 0<=x<n
……二楼的不正确,输出1到70 应该是 random(70)+1
具体的程序:
var
n,i,x:longint;
begin
readln(n);
randomize;//随机初始化(必有)
for i:=1 to n do
begin
x:=random(70)+1;//随机生成0~69之间的数,不过加一,就是1~70了
if (x<>50) and (x<>60) and (x<>70) then //满足题目要求,输出
write(x,' ');
end;
end.
热心网友 时间:2024-10-30 23:38
var
n,i:longint;
begin
readln(n);
randomize;{初始化随机数种子}
repeat
i:=random(71);{抽取随机数}
if (i<>50) and (i<>60) and (i<>70) then begin{满足条件就输出}
write(i,' ');
dec(n);
end;
until n=0;{输出完毕,退出}
end.
热心网友 时间:2024-10-30 23:42
program t1;
var i,j:integer;
begin
randomize;
readln(i);
repeat
j:=random(69)+1;
if (j<>70)and(j<>60)and(j<>50) then i:=i-1;
until i=0;
end.