Data update
This commit is contained in:
parent
4d5544505c
commit
4924dd0264
3073 changed files with 55820 additions and 4408 deletions
|
|
@ -0,0 +1,48 @@
|
|||
// Get PI using MonteCarlo method
|
||||
//
|
||||
// FutureBasic 7.0.34, August 2025 R.W
|
||||
|
||||
// In my opinion, iteration below
|
||||
// a hundred million won't even show anything
|
||||
// remotely close to PI
|
||||
|
||||
local fn MC_PI(rolls as double) as double
|
||||
double i, inCircle, dist, MaxINT
|
||||
double rndX, rndY, result
|
||||
MaxINT = 2147483647.0
|
||||
inCircle = 0
|
||||
|
||||
for i = 1 TO rolls
|
||||
// a square with a side of length 2 centered at 0 has
|
||||
// x and y range of -1 to 1
|
||||
if i % 2 == 0
|
||||
rndX = (rnd(MaxINT)-1)/MaxINT
|
||||
rndY = (rnd(MaxINT)-1)/MaxINT
|
||||
else
|
||||
rndX = (rnd(MaxINT)+1)/MaxINT
|
||||
rndY = (rnd(MaxINT)+1)/MaxINT
|
||||
end if
|
||||
dist = rndX ^ 2 + rndY ^ 2
|
||||
if dist < 1.0 //circle with diameter of 2 has radius of 1
|
||||
inCircle++
|
||||
end if
|
||||
next i
|
||||
result = 4.0 * inCircle / rolls
|
||||
end fn = result
|
||||
|
||||
|
||||
window 1,@"Monte Carlo PI"
|
||||
random
|
||||
double pi2
|
||||
|
||||
pi2 = fn MC_PI(10^4)
|
||||
print " 10,000 = ";pi2
|
||||
|
||||
pi2 = fn MC_PI(10^6)
|
||||
print " 1,000,000 = ";pi2
|
||||
|
||||
pi2 = fn MC_PI(10^8)
|
||||
print "100,000,000 = ";pi2
|
||||
|
||||
|
||||
HandleEvents
|
||||
Loading…
Add table
Add a link
Reference in a new issue