. , . . , . , , , .
, . .
: , , , , , , , , .
: , , , , .
: .
: , , .
: , , .
, . , .. , ; .
, . . , , , . , , n :
xn= (axn-1+ ) mod m,
, , m , mod ( ). m, a . , , ; m . , .
|
|
() , . , random, [0,1]. randomize, , .. . , , . .
. , , , () . , .
. , , L, l (. 3.3). , , , ?
. 3.3.
. (XVIII .) : = 2 l /L. , L = 2 l, = 1/. , = N1/N, N , N1 .
, , = 1/. .
. L = 1 l =1/2. , , 2020, (0, 0). 0 20. , , ; , 1/2, . :
(1,1), B(x2,y2);
1(1+ (2 1), 1+ (2 1)),
.
, , , , , 1.
3.1. .
Program Buffon;
uses Crt;
Var I, J, K, M, N: Integer; X1, X2, Y1, Y2, A1: Real;
Begin
Randomize; M:= 30000; N:= 1;
For I:= 1 To M Do
Begin
X1:= Random * 20; Y1:= Random * 20; X2:= Random * 20;
Y2:= Random * 20;
A1:= 0.5 / Sqrt(Sqr(X2 X1) + Sqr(Y2 Y1));
J:= Round (Y1); := Round (Y1 + A1 * (Y2 Y1));
If J <> Then N:== N + 1
End;
WriteLn(pi=, (N/M): 8: 5);
End.