Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,52 @@
|
|||
{$MODE objFPC}//for using result,parameter runs becomes for variable..
|
||||
uses
|
||||
sysutils;//Format
|
||||
const
|
||||
MaxN = 100*1000;
|
||||
|
||||
function run_test(p:double;len,runs: NativeInt):double;
|
||||
var
|
||||
x, y, i,cnt : NativeInt;
|
||||
Begin
|
||||
result := 1/ (runs * len);
|
||||
cnt := 0;
|
||||
for runs := runs-1 downto 0 do
|
||||
Begin
|
||||
x := 0;
|
||||
y := 0;
|
||||
for i := len-1 downto 0 do
|
||||
begin
|
||||
x := y;
|
||||
y := Ord(Random() < p);
|
||||
cnt := cnt+ord(x < y);
|
||||
end;
|
||||
end;
|
||||
result := result *cnt;
|
||||
end;
|
||||
|
||||
//main
|
||||
var
|
||||
p, p1p, K : double;
|
||||
ip, n : nativeInt;
|
||||
Begin
|
||||
randomize;
|
||||
writeln( 'running 1000 tests each:'#13#10,
|
||||
' p n K p(1-p) diff'#13#10,
|
||||
'-----------------------------------------------');
|
||||
ip:= 1;
|
||||
while ip < 10 do
|
||||
Begin
|
||||
p := ip / 10;
|
||||
p1p := p * (1 - p);
|
||||
n := 100;
|
||||
While n <= MaxN do
|
||||
Begin
|
||||
K := run_test(p, n, 1000);
|
||||
writeln(Format('%4.1f %6d %6.4f %6.4f %7.4f (%5.2f %%)',
|
||||
[p, n, K, p1p, K - p1p, (K - p1p) / p1p * 100]));
|
||||
n := n*10;
|
||||
end;
|
||||
writeln;
|
||||
ip := ip+2;
|
||||
end;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue