DIM Point2D AS DOUBLE DIM Number AS DOUBLE DIM Hits AS DOUBLE DIM Diff AS DOUBLE DIM Estimate AS DOUBLE DIM Accuracy AS DOUBLE DIM StartTime AS LONG CONST Pi = 3.141592653589793# CLS LOCATE 2, 1 PRINT STRING$(40, "=") PRINT " 3-Dimensional Estimate of Pi" PRINT STRING$(40, "-") LOCATE 21, 1 PRINT STRING$(40, "-") PRINT " Enter 0 to Exit" PRINT STRING$(40, "=") VIEW PRINT 5 TO 20 INPUT "Number of Points: ", Number WHILE Number > 0 RANDOMIZE (INT(INT(TIMER) * 4369 / 5760) - 32768) ' Scale the seed ' for 24 hours. Hits = 0 FOR Point2D = 1 TO Number IF ((RND - .5#) ^ 2 + (RND - .5#) ^ 2 + (RND - .5#) ^ 2) <= .25# THEN Hits = Hits + 1 END IF NEXT Point2D PRINT PRINT CHR$(227); TAB(15); Pi Estimate = 6# * (Hits / Number) PRINT "Estimate"; TAB(15); Estimate Diff = Pi - Estimate PRINT "Difference"; TAB(15); PRINT USING "##.###############"; Diff Accuracy = 100# * (1# - Diff / Pi) PRINT "Accuracy"; TAB(13); PRINT USING " ###.##%"; Accuracy PRINT INPUT "Number of Points: ", Number WEND END