|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Jan 2005
Messaggi: 47
|
Pi reco...
Cercando per il web, vedo e trovo programmi che calcolano il pi greco...
Ma il pi greco, come lo calcoliamo??? Ho letto qualcosina, ma come si ci è arrivati a quei stratagemm di calcolo??? E come facciamo a essere certi che quello che calcoliamo sia il valore esatto del pi greco... anche se adesso con il computer non dovrebbe esistere più questo problema... Tra l'altro qualcuno mi saprebbe spiegare come un numero possa essere infinito... irrazionale e trascendente... Un numero razionale è per forza trascendente???? Domanda stupida???... Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2000
Città: UK
Messaggi: 7458
|
Il pi Greco non può essere esatto... per quel che si sa ora è infinito, o meglio, non ne è mai stata calcolata una fine o rilevata una periodicità.
Su come lo calcolino, non ne ho la più pallida idea...
__________________
"Questo forum non è un fottuto cellulare quindi scrivi in italiano, grazie." (by Hire) Le mie foto su Panoramio - Google Earth |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Jan 2005
Messaggi: 47
|
C'è qualche stratagemma di calcolo che ti porta fino ad una determinata cifra, ma come ci sono arrivati???...
Sparano a caso... Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2000
Città: UK
Messaggi: 7458
|
Ci sono arrivati calcolando, ma il calcolo non porta ad una fine.
E' come dire, fai a mano 1/3: vai avanti a calcolare fin che vuoi, ma non arrivi mai ad una fine. In realtà il discorso è un po' diverso perchè 1/3 è periodico, mentre per il pi greco, per ora, non si è stabilita nessuna periodicità (che significherebbe terminare il calcolo, fondamentalmente). Con i metodi che hai descritto troveresti un numero probabilmente finito solamente per limiti nella rilevazione delle grandezze di cui ti servi per effettuare il calcolo, non perchè arrivi ad un valore esatto.
__________________
"Questo forum non è un fottuto cellulare quindi scrivi in italiano, grazie." (by Hire) Le mie foto su Panoramio - Google Earth |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Verona
Messaggi: 2364
|
Codice:
Private Sub vai()
Dim i As Integer = 0
Dim digits As Integer = 20
Dim pi As StringBuilder = New StringBuilder("3", digits + 2)
pi.Append(".")
For i = 0 To digits Step 9
asd.Text &= i.ToString
Dim nineDigits As Integer = NineDigitsOfPiAt.StartingAt(i + 1)
Dim digitCount As Integer = Math.Min(digits - i, 9)
Dim ds As String = String.Format("{0:D9}", nineDigits)
pi.Append(ds.Substring(0, digitCount))
asd.Text &= pi.ToString
Next i
End Sub
|
|
|
|
|
|
#6 | |
|
Bannato
Iscritto dal: Jan 2005
Messaggi: 47
|
Quote:
A conoscerlo visul basic, solo php e actionscript...
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2004
Città: Verona
Messaggi: 2364
|
sinceramente, vb.net non lo ricordo nemmeno più
tutto quello che imparo lo dimentico in meno di un anno... edit: ah, ehm.... ho dimenticato la parte più importante ![]() Codice:
Imports System
Public Class NineDigitsOfPiAt
Public Shared Function mul_mod(ByVal a As Long, ByVal b As Long, ByVal m As Integer) As Integer
Return CInt(((a * b) \ m))
End Function
' return the inverse of x mod y
Public Shared Function inv_mod(ByVal x As Integer, ByVal y As Integer) As Integer
Dim q As Integer = 0
Dim u As Integer = x
Dim v As Integer = y
Dim a As Integer = 0
Dim c As Integer = 1
Dim t As Integer = 0
While (u <> 0)
q = v / u
t = c
c = a - q * c
a = t
t = u
u = v - q * u
v = t
End While
a = a \ y
If (a < 0) Then a = y + a
Return a
End Function
' return (a^b) mod m
Public Shared Function pow_mod(ByVal a As Integer, ByVal b As Integer, ByVal m As Integer) As Integer
Dim r As Integer = 1
Dim aa As Integer = a
Do
'If (("b&0x01") <> 0) Then r = mul_mod(r, aa, m)
'b = b>>1
If (b = 0) Then Exit Do
aa = mul_mod(aa, aa, m)
Loop While (True)
Return r
End Function
' return true if n is prime
Public Shared Function is_prime(ByVal n As Integer) As Boolean
If ((n \ 2) = 0) Then Return False
Dim r As Integer = CInt(Math.Sqrt(n))
Dim i As Integer
For i = 3 To i <= r Step 2
If ((n \ i) = 0) Then Return False
Next i
Return True
End Function
' return the prime number immediately after n
Public Shared Function next_prime(ByVal n As Integer) As Integer
While (is_prime(n) = False)
n += 1
End While
Return n
End Function
Public Shared Function StartingAt(ByVal n As Integer) As Integer
Dim av As Integer = 0
Dim vmax As Integer = 0
Dim Nn As Integer = CInt(((n + 20) * Math.Log(10) / Math.Log(2)))
Dim num As Integer = 0
Dim den As Integer = 0
Dim kq As Integer = 0
Dim kq2 As Integer = 0
Dim t As Integer = 0
Dim v As Integer = 0
Dim s As Integer = 0
Dim sum As Double = 0.0
Dim a As Integer
For a = 3 To (2 * Nn)
vmax = CInt((Math.Log(2 * Nn) / Math.Log(a)))
av = 1
Dim i As Integer = 0
For i = 0 To vmax
av = av * a
Next i
s = 0
num = 1
den = 1
v = 0
kq = 1
kq2 = 1
Dim k As Integer
For k = 1 To n
t = k
If (kq >= a) Then
While ((t \ a) = 0)
t = t / a
v -= 2
End While
kq = 0
End If
kq += 1
num = mul_mod(num, t, av)
t = (2 * k - 1)
If (kq2 >= a) Then
If (kq2 = a) Then
While ((t \ a) = 0)
t = t / a
v += 1
End While
End If
kq2 -= a
End If
den = mul_mod(den, t, av)
kq2 += 1
If (v > 0) Then
t = inv_mod(den, av)
t = mul_mod(t, num, av)
t = mul_mod(t, k, av)
For i = v To vmax
t = mul_mod(t, a, av)
Next i
s += t
If (s >= av) Then s -= av
End If
Next k
t = pow_mod(10, n - 1, av)
s = mul_mod(s, t, av)
sum = (sum + CType(s, Double) / CType(av, Double)) \ 1.0
next_prime(a)
Next
Return CInt(sum * 1000000000.0)
End Function
End Class
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2000
Città: UK
Messaggi: 7458
|
Quote:
__________________
"Questo forum non è un fottuto cellulare quindi scrivi in italiano, grazie." (by Hire) Le mie foto su Panoramio - Google Earth |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Mar 2004
Città: Verona
Messaggi: 2364
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Jan 2005
Messaggi: 47
|
Io il pomeriggio non ricordo nemmeno quello che ho mangaito a mezzogiorno, abbiamo l'hard disk pieno, cancellate un po' i file obsoleti...
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Quote:
http://en.wikipedia.org/wiki/Borwein%27s_algorithm
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Dec 2003
Città: Trento, Pisa... ultimamente il mio studio...
Messaggi: 4389
|
Si può calcolare anche con un metodo tipo montecarlo...
pensate ad esempio ad un bersaglio quadrato con inscritto un cerchio. Lanciateci sopra un milione di freccette a caso (in modo che ogni punto abbia la stessa probabilità di essere colpito) contate quante freccette sono all'interno del cerchio e quante sono in tutto, il rapporto fra questi numeri dovrebbe dare 4 pi
__________________
"Expedit esse deos, et, ut expedit, esse putemus" (Ovidio) Il mio "TESSORO": SuperMicro 733TQ, SuperMicro X8DAI I5520, 2x Xeon Quad E5620 Westmere, 12x Kingston 4GB DDR3 1333MHz, 4x WD 1Tb 32MB 7.2krpm
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Aggiungo anche che esiste una formula che da' un algoritmo di estrazione dell'n-esima cifra del Pi greco, detta formula BPP dalle iniziali dei cognomi dei tre scopritori: purtroppo funziona solo in base sedici...
Qui qualche dettaglio: BBP Formula E qui tante altre bellissime formule su Pi: Pi Formulas
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Quote:
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry Ultima modifica di Banus : 28-08-2005 alle 16:00. |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Dec 2003
Città: Trento, Pisa... ultimamente il mio studio...
Messaggi: 4389
|
Quote:
verissimo, ahimé! Come metodo è molto più efficiente quello del prodotto infinito di Wallis; la serie armonica 1/n^2 converge estremamente lentamente, invece...
__________________
"Expedit esse deos, et, ut expedit, esse putemus" (Ovidio) Il mio "TESSORO": SuperMicro 733TQ, SuperMicro X8DAI I5520, 2x Xeon Quad E5620 Westmere, 12x Kingston 4GB DDR3 1333MHz, 4x WD 1Tb 32MB 7.2krpm
|
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Brindisi
Messaggi: 875
|
SI ottiene moltiplicando per 4 la serie di Eulero..
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jun 2000
Città: S.Giuliano (MI)
Messaggi: 1047
|
prendi la circonferenza, inscrivi o circoscrivi dei poligoni regolari e fai tendere ad infinito i lati, e poi calcoli perimetro fratto diametro
http://www.gurutech.it/polimi/pigreco.pdf
__________________
“No te tomes tan en serio la vida, al fin y al cabo no saldrás vivo de ella” |
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2005
Città: Trani (BA)
Messaggi: 2074
|
Quote:
Per la distinzione fra le varie categorie di numeri (interi, razionali, irrazionali algebrici, irrazionali trascendenti, ...) vedi QUI
__________________
Nuovo PC: CM RC-690II_ZM-MFC1Plus_2 Scythe Slip Stream 800Rpm_2 Coolink SWif2 Ultra Silent_ Win7 Home premium 64bit SP1_Corsair AX 750W_Asrock Extreme6_Intel i5 [email protected] Ghz_Zalman CNPS 9900 Max Blue_Corsair Vengeance_2*4Gb 1600 888 1,5V_EVGA GTX 460 FBP_2WD Black 1Tb_1WD Green 2Tb
|
|
|
|
|
|
|
#19 |
|
Bannato
Iscritto dal: Jan 2005
Messaggi: 47
|
Grazie a tutti!!!
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:46.



















