Efektive, konata rezulto de entjerteorio asertas ke la probablo ke du entjeroj hazarde elektitaj estas primoj inter si
estas 6∕π2 ≈ 0,6079. Por provi konstati tiun rezulton, jen tio kion ni faros:
- Prenu du nombrojn hazarde inter 0 kaj 1000000.
- Kalkulu ilian pgkd.
- Se ĝi egalas 1, aldonu 1 al variablo nombrilo.
- Ripetu tion 1000 fojojn.
- La frekvencon de la paroj de nombroj primoj inter si oni akiru dividante la nombrilon per 1000 (la
nombro de ripetoj).
por test
# Komencu la variablon nombrilo je 0
provizu "nombrilo 0
ripetu 1000
[se (pgkd hazardon 1000000 hazardon 1000000) = 1 [provizu "nombrilo :nombrilo + 1]]
skribu [frekvenco:]
skribu :nombrilo / 1000
fino
Rimarko: Kiel antaŭe, oni devas meti la parentezojn ĉirkaŭ pgkd hazardon 1000000 hazardon 1000000; se ne,
l’ interpretilo provos evalui 1000000 = 1. Por ne skribi parentezojn, skribu tiel: se 1 = pgkd hazardon 1000000
hazardon 1000000.
Rulu la programon test.
test
0.609
test
0.626
test
0.597
Oni akiras valorojn proksimaj de la teoria valoro 0.6097. Rimarkindas ja ke tiu frekvenco estas valoro proksima al
.
Se mi indikas per f la trovitan frekvencon, oni do havas: f ≈.
Do π2 ≈ kaj do π ≈.
Mi aldonu tiun proksimumigon en mia programo; mi transformu la finon de la proceduro test:
por test
# Komencu la variablon nombrilo je 0
provizu "nombrilo 0
ripetu 1000
[se 1 = pgkd hazardon 1000000 hazardon 1000000 [provizu "nombrilo :nombrilo + 1]]
# Kalkulu la frekvencon
provizu "f :nombrilo/1000
# Skribu la valoron proksimuman al pi
skribu frazon [proksimumigo de pi:] radikon (6/:f)
fino
test
proksimumigo de pi: 3.164916190172819
test
proksimumigo de pi: 3.1675613357997525
test
proksimumigo de pi: 3.1008683647302115
Nu, mi modifu mian programon tiel ke kiam mi rulos ĝin, mi indiku la nombron de provoj deziratan. Mi intencas
provi per 10000 provoj; jen tio kion mi akiras en miaj tri unuaj ruladoj:
por test :provoj
# Komencu la variablon nombrilo je 0
provizu "nombrilo 0
ripetu :provoj
[se 1 = pgkd hazardon 1000000 hazardon 1000000 [provizu "nombrilo :nombrilo + 1]]
# Kalkulu la frekvencon
provizu "f :nombrilo/:provoj
# Skribu la valoron proksimuman al pi
skribu frazon [proksimumigo de pi:] radiko (6/:f)
fino
test 10000
proksimumigo de pi: 3.1300987144363774
test 10000
proksimumigo de pi: 3.1517891481565017
test 10000
proksimumigo de pi: 3.1416626832299914
Ne malbone, ĉu?