giovedì 13 marzo 2014

I decimali di π

A grande richiesta, cioè no, a piccola richiesta, Archimede, Ponder Stibbons, me e --forse-- qualcun altro ecco le cifre decimali di π.
Non tutte, i primi 1000.

             5    10    15    20    25    30    35    40    45    50    55    60    65    70    75    80    85    90    95   100 
       0 14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 70679
     100 82148 08651 32823 06647 09384 46095 50582 23172 53594 08128 48111 74502 84102 70193 85211 05559 64462 29489 54930 38196
     200 44288 10975 66593 34461 28475 64823 37867 83165 27120 19091 45648 56692 34603 48610 45432 66482 13393 60726 02491 41273
     300 72458 70066 06315 58817 48815 20920 96282 92540 91715 36436 78925 90360 01133 05305 48820 46652 13841 46951 94151 16094
     400 33057 27036 57595 91953 09218 61173 81932 61179 31051 18548 07446 23799 62749 56735 18857 52724 89122 79381 83011 94912
     500 98336 73362 44065 66430 86021 39494 63952 24737 19070 21798 60943 70277 05392 17176 29317 67523 84674 81846 76694 05132
     600 00056 81271 45263 56082 77857 71342 75778 96091 73637 17872 14684 40901 22495 34301 46549 58537 10507 92279 68925 89235
     700 42019 95611 21290 21960 86403 44181 59813 62977 47713 09960 51870 72113 49999 99837 29780 49951 05973 17328 16096 31859
     800 50244 59455 34690 83026 42522 30825 33446 85035 26193 11881 71010 00313 78387 52886 58753 32083 81420 61717 76691 47303
     900 59825 34904 28755 46873 11595 62863 88235 37875 93751 95778 18577 80532 17122 68066 13001 92787 66111 95909 21642 01989
Volendo c'è e, √(2), φ, altri ancora. Uh, lo script Python è questo (modificare il numero di riga 15):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/python
# -*- coding: utf-8 -*-

import subprocess

def riga_numeri(bl, n):
    f.write(bl + ' ')
    for c in range(n / 5):
        f.write('{:>5} '.format((c + 1) * 5))
    f.write('\n')
    
def num_col(n):
    f.write('{:>8} '.format(n))

p = subprocess.Popen("pi 1000001", shell=True, 
                stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
st = p.stdout.read()
    
f = open("pag", "w")

#lunriga = 20 #per prova
#lunriga = 50 #per OKp
lunriga = 100 #per TR

bl = " " * 8
riga_numeri(bl, lunriga)
n = 0
for c in st[2:-1]:
    if (n % lunriga) == 0:
        num_col(n)
    f.write(c)
    n += 1
    if (n % lunriga) == 0:
        f.write("\n")
    elif (n % 5) == 0:
        f.write(" ")
f.close()

7 commenti:

  1. Tu quante ne sai a memoria? Io mi ricordo 3,14159, Questo tipo del link sottostante ne ha imparate e recitate 67890, una numero di cifre particolarmente facile da ricordare! (http://www.newsgd.com/culture/peopleandlife/200611280032.htm)

    Spero entro fine anno di aggiungere anche 265, sembra facile perché è come 256 con le ultime due cifre scambiate. Adesso che ho notato questo mi ricordo 3,14159265, devo pormi un nuovo obiettivo! Ad esempio aggiungere il 35, che si ottiene dividendo per 2 il 6 e lasciando il 5 della precedente tripletta.
    OOPS! Adesso mi ricordo 3,1415926535!

    Le cifre seguenti, 897, sono le ultime tre singole cifre decimali, a partire da fondo, e siccome si parte dal fondo a essere scambiate sono le prime due, mentre nel 256, che erano le ultime tre cifre di un universo a 8 bit, scritte nell'ordine giusto, a scambiarsi il posto erano le ultime due.

    Così senza volerlo mi sto ricordando 3,135926535897!!!

    Il 93 che segue è l'anno di nascita di mio figlio, ottimo strumento mnemotecnico da usare come extrema ratio, che porta quindi il mio ricordo a 3,141592653589793, per cui lascio come obbiettivo il successivo pacchetto 23846.

    In realtà scopro con stupore che il valore che ora so ricordare è più preciso del risultato dell'espressione che ho sempre usato pi=atn(1)*4, infatti:

    Dim a As Single
    Dim b As Double
    a = Atn(1) * 4
    b = Atn(1) * 4
    Debug.Print a
    Debug.Print b

    > 3,141593
    > 3,14159265358979

    Cavoli, sono migliore del computer di un ordine di grandezza!!!

    RispondiElimina
    Risposte
    1. Grande Giorgio ☺
      Commento originalissimo

      Elimina
  2. Quest'immagine https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash3/t1/1982082_10152305941647079_1322843176_n.jpg mi fa notare di poter aggiungere altre 5 cifre con facilità: "tornando ai numeri binari, 2^3=8, e guarda caso il doppio di 2 e 3 sono 4 e 6!"

    RispondiElimina
  3. adesso sono a:
    3,14159265358979323846264338327950288 :D

    RispondiElimina
  4. Domanda per Juan: siccome mi risce difficile credere che il record sia di 67890 cifre memorizzate, secondo te è possibile che il cinese abbia appreso una tecnica di calcolo veloce usando un algoritmo particolarmente adatto al calcolo mentale invece di aver veramente imparato a memoria tutte quelle cifre?
    Perchè adesso sono arrivato a 35 cifre, e penso di poter arrivare a 70 in breve tempo, ma il fattore di prestazione a quel punto sarebbe di 1:1000, che è di un ordine di grandezza maggiore del rapporto tra le prestazioni amatoriali e professionali in tuttu i campi che mi vengono in mente.
    Ad esempio nello sport un fattore 10 è già troppo, come dire che nella corsa i professionisti fanno 100 m in 10" mentre i dilettanti li fanno in 1' 40".
    Certe attività più cerebrali portano a un ordine di grandezza maggiore, ad esempio posso immaginare che se Uto Ughi suona Paganini al ritmo di 10 note al secondo, io potrei suonarlo tranquillamente a una nota ogni 10 ".
    Anche nella mnemotecnica i record hanno rapporto 1:100, ad esempio nella memorizzazione di numeri decimali casuali il record è di 2660 numeri in un'ora, perso che una persona introdotta alla mnemotecnica non abbia difficoltà a ricordarne molti più di 27.
    Se si guarda http://www.recordholders.org/en/list/memory.html#pi si vde che le cifre erano 930 nel 1973, aumentare di due ordini di grandezza in quarant'anni sembra uno sproposito, siccome non si può guardare nel cervello delle persone è difficile capire se la recitazione di cifre sia effetto di memorizzazione o di calcolo al volo!

    RispondiElimina
    Risposte
    1. Forse. Ci sono delle tecniche "da maghi". C'è qui a Torino un esperto in materia, Mariano Tomatis, lo trovi p.es. sul blog: qui. Mi conosce, prova a sentirlo.

      Elimina
    2. La domanda non era rivolta a me, ma voglio ugualmente dire la mia.
      In Facebook c'è uno dei miei amici, Giangi Nalio, che partecipa spesso alle gare nazionali di Pi, e so che nel 2011 ha vinto con 1.480 cifre memorizzate (scritte alla lavagna, quelle che ricorda forse sono di più).

      Elimina