Sinh ngẫu nhiên tệp cấp số cộng
Sinh ngẫu nhiên một cấp số cộng có n số hạng và ghi vào một tệp văn bản có tên cho trước.
Thuật toán
1. Sinh ngẫu nhiên số hạng thứ
nhất a[1] và công sai d.
2. Sinh các phần tử a[i], i = 2..n
for i:=2 to n do
a[i]:= a[i–1]+ d;
3. Ghi file
Độ phức tạp: n.
(* Pascal *) - gia sư tin học, dạy pascal nâng cao
program
FCapCong;
uses crt;
const BL =
#32;
procedure
Gen(fn: string; n: integer);
var f: text;
i,d: integer; x: longint;
begin
assign(f,fn);
rewrite(f);
randomize;
d := random(n
div 4)+1; {cong sai }
x :=
random(20); write(f,x,BL);
for i:= 2 to n
do
begin { mỗi
dòng ghi 20 số }
x:= x + d;
write(f,x,BL);
if i mod 20 = 0
then writeln(f);
end;
if i mod 20
<> 0 then writeln(f);
close(f);
end;
BEGIN
Gen('DATA.INP',200);
write('Ket'); readln;
END.
Không có nhận xét nào:
Đăng nhận xét