|
|
|
![]() |
|
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: 2361
|
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: 2361
|
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: 2361
|
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: 4388
|
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 15:00. |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Dec 2003
Città: Trento, Pisa... ultimamente il mio studio...
Messaggi: 4388
|
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: 872
|
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 2500k@4.4 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: 09:41.