Search Results for: progetto eulero

Progetto Eulero: Problema 14

Quattordicesimo problema di Eulero. Nel precedente articolo sul progetto Eulero abbiamo saltato dal terzo al quindicesimo problema. L’unico modo per non perdere l’abitudine alla nostra imprescindibile aperiodicità era quello di tornare indietro e infatti ci occuperemo questa volta del problema numero 14.

Leggiamo assieme l’enunciato:

La seguente sequenza iterativa è definita nell’insieme dei numeri interi:

n → n/2 (se n è pari)

n → 3n + 1 (se n è dispari)

Usando la precedente regola e partendo da 13, possiamo calcolare la seguente sequenza:

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1

Si può vedere che questa sequenza (che comincia con 13 e finisce con 1) contiene 10 termini. Sebbene non è ancora stato provato (congettura di Collatz), si ritiene che, qualunque sia il numero di partenza, si finisca sempre a 1.

Partendo da quale numero, al di sotto di un milione, si ottiene la catena più lunga?

[Read more…]

Progetto Eulero: Problema 15

Quindicesimo problema di Eulero. Dopo aver affrontato in sequenza i primi tre problemi del progetto Eulero, per mantener fede alla nostra onorata aperiodicità saltiamo a piè pari al problema numero 15.

Con questo problema abbandoniamo, almeno in apparenza, numeri e sequenze e per la prima volta affrontiamo un enunciato che richiede un’immagine:

Partendo dall’angolo in alto a sinistra in una griglia di dimensione 2 per 2, ci sono 6 percorsi che vanno (scendendo o verso il basso o verso destra, senza mai tornare indietro) fino all’angolo in basso a destra:

Griglia 2x2

Quanti percorsi simili ci sono in una griglia di dimensione 20 per 20?

[Read more…]

Progetto Eulero: Problema 3

Terzo problema di Eulero.Il problema
3
del Progetto Eulero ha un enunciato molto
semplice:

I fattori primi di 13195 sono 5, 7, 13 e 29.

Qual è il più grande fattore primo del numero 317584931803?

Anche l’algoritmo per trovare i fattori primi di un numero è molto
semplice, se ne fa la conoscenza nelle scuole elementari:

[Read more…]

Progetto Eulero: Problema 2

Secondo problema di Eulero.La scorsa settimana abbiamo introdotto il primo di quella che sarà una lunga serie di articoli riguardanti Project Euler. Ringrazio coloro che hanno bloggato circa l’iniziativa o hanno commentato direttamente nel sito, mostrandoci soluzioni persino in GW-Basic e Lua.

Fatti i dovuti ringraziamenti, passiamo subito al problema numero 2, così enunciato:

Ogni nuovo termine nella sequenza di Fibonacci è generato dalla somma dei due termini precedenti. Partendo con 1 e 2, i primi dieci termini saranno:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Trova la somma di tutti i termini pari nella sequenza, che non eccedono un milione.

[Read more…]

Progetto Eulero: Problema 1

Primo problema. Livello: Facile.Project Euler è un sito che propone più di un centinaio di problemi a carattere matematico. Alcuni di questi possono essere affrontati con carta, penna e un pizzico di astuzia matematica, ma di base si tratta di una sfida algoritmica pensata per programmatori e appassionati di programmazione. C’è da chiedersi se la sfida sia più tra le migliaia di programmatori (con tanto di classifica) o contro se stessi. Infatti Project Euler è ideale per rinfrescarsi la memoria in materia di algoritmi e matematica, oltre ad essere un valido ausilio per misurare i propri progressi nello studio di un nuovo linguaggio di programmazione.

[Read more…]

Statistiche secondo trimestre

D’estate il ritmo di pubblicazione diventa piuttosto blando, per cui ho pensato che sarebbe interessante condividere apertamente le statistiche dell’ultimo quarter, ovvero del periodo che va dal primo di aprile al 30 di giugno.

[Read more…]

Una scatola degli attrezzi Euleriana

Nell’archivio di Stacktrace ci sono diversi articoli che si sono occupati del Progetto Eulero. Invece di risolvere un particolare problema, questa volta daremo uno sguardo pythonista ad alcuni strumenti che possono servirci nella risoluzione delle sfide del Progetto.

Perché Python? Beh, a quanto pare Python è il linguaggio preferito dagli italiani che si dilettano con i problemi di Eulero, non per nulla dei primi 10 della classifica tricolore, ben 6 lo usano!

Italiani

[Read more…]

Le avventure del futuro

Con la puntata pubblicata la settimana scorsa abbiamo chiuso il
secondo ciclo delle “Avventure di un Pythonista in Schemeland”. È
tempo di una pausa di riflessione. Il primo ciclo di cinque puntate è
stato puramente introduttivo e rivolto a tutti, mentre il secondo
ciclo è stato più tecnico e rivolto ad un pubblico attento. In
particolare, siamo entrati nel cuore di Scheme, andando a discutere il
concetto di code is data ed introducendo le macro di tipo
syntax-rules. Adesso è il momento di avere un pò di feedback
dai lettori. Sondando nella lista degli autori di Stacktrace ho
scoperto che molti trovano il ritmo di pubblicazione attuale (poco
meno di un articolo a settimana) un pò difficile da seguire. Voi
lettori abituali che ne dite? State ancora seguendo? Vi è scoppiata
la testa leggendo la decima puntata?

[Read more…]

I cubettàti

Marco Beri non si è accontentato di sviluppare una preoccupante dipendenza dal progetto Eulero: quando non è impegnato a risolvere quesiti matematici, si diletta a porne. Non molto tempo fa ha proposto ai lettori di Stacktrace il problema del cubetto, un puzzle tridimensionale formato da sei pezzi con i quali è possibile formare un cubo, riuscendo ad incastrare tutti i pezzi tra loro.

Quante soluzioni esistono? Esistono soluzioni con tutte le facce esposte? Per quanto tempo ancora i familiari sopporteranno Marco, prima di cacciarlo di casa? Ad alcuna di queste domande possiamo finalmente dare una risposta!

[Read more…]

Il linguaggio Scala

Da tempo si sente l’esigenza di superare Java per rendere la
programmazione più flessibile, agile e, se possibile, vicina al
linguaggio naturale. Molti hanno individuato la ragione della rigidità
di Java nella sua tipizzazione statica e si sono pertanto rivolti a
linguaggi dinamici. Tali strumenti di programmazione, però, suscitano
numerosi
dubbi e perplessità
, in chi, come me, proviene dal mondo della
tipizzazione statica.

È per questo che il nuovo linguaggio Scala, tipizzato staticamente e
libero dai tanti problemi di Java, non manca di affascinarmi.
Realizzato a partire dal 2001 dal Politecnico di Losanna sotto la
guida di Martin
Odersky
, uno degli sviluppatori del compilatore Java, è stato
rilasciato pubblicamente per la prima volta nel 2004 in due versioni,
una per la piattaforma Java ed un’altra per .NET, ed ha subito un
sostanziale miglioramento nel corso del 2006. Vediamone alcune delle
caratteristiche principali.

[Read more…]