Sinh ngẫu nhiên tăng, gia sư tin học.
Sinh ngẫu
nhiên n phần tử được sắp không giảm cho mảng nguyên a.
Thuật toán
1. Sinh ngẫu nhiên phần tử đầu
tiên: a[1] := random(n);
2. Từ phần tử thứ hai trở đi, trị
được sinh bằng trị của phần tử sát trước nó cộng thêm một đại lượng ngẫu nhiên:
(i = 2..n): a[i] := a[i - 1] + random(n), do đó a[i]
>= a[i - 1].
(* Pascal
*)
(*-------------------------------------------
Sinh ngau
nhien cho mang nguyen a
n phan tu sap khong giam
-------------------------------------------*)
program
IncGen;
uses crt;
const MN =
1000;
var a: array
[1..MN] of integer;
(*----------------------------------------
Sinh
ngau nhien day tang gom n phan tu
-----------------------------------------*)
procedure
Gen(n: integer);
var i:
integer;
begin
randomize;
a[1]:= random(5); {khoi tao phan tu dau tien }
for i:= 2 to n
do a[i]:= a[i-1]+random(10);
end;
procedure
Xem(n: integer); tự viết
procedure
Test;
var n:
integer;
begin
n := 200; {
test voi 200 phan tu }
Gen(n);
Xem(n); readln;
end;
BEGIN
Test;
END.
Tag: gia sư tin học
Không có nhận xét nào:
Đăng nhận xét