« Spam Spam Spam! · Pagina principale · Movable Type 4.23 »

Project Euler

Venerdì 21 Novembre 2008 alle 02:49

Problema: Come passare in maniera intelligente il proprio tempo libero alla sera? Guardare la Talpa è decisamente fuori discussione quindi in genere ripiego sul forum, nella sezione Programmazione sperando di vedere un nuovo contest in cui cimentarmi. Purtroppo però ultimamente gli utenti che organizzava questi piccoli concorsi sembra aver perso l'interesse di portarli avanti quindi per un po' sono rimasto a piedi.

Per un po'. Perché ora ho trovato quello che diventerà senza dubbio uno dei miei siti preferiti di sembre. Project Euler è una raccolta di più di 250 problemi di matematica ed informatica da poter risolvere con il linguaggio e gli strumenti che più si preferisce.

Una volta trovata la soluzione la si può confrontare con quella di altri centinaia di utenti e spesso leggere alcuni approfondimenti sugli algoritmi migliori da usare.

Come esempio riporto il codice che ho usato per trovare la soluzione al problema numero 4.

Infinity = 1.0/0.0

class Fixnum
  def is_palindromic?
    self.to_s == self.to_s.reverse
  end
end

def largest_palindrome(low,high)
  max = -Infinity
  low.upto high do |x|
    x.upto high do |y|
      z = x * y
      max = z if z.is_palindromic? and z > max
    end
  end
  max
end

puts largest_palindrome(100,999)

Commenti

Scritto da Daniele Cocca , Venerdì 21 Novembre 2008 alle 21:09

1

Tramite StumbleUpon ho trovato proprio stasera http://www.hackergames.net/, dove ci sono link a siti che raccolgono sfide di questo tipo. In particolare, c'è questo dell'università di Valladolid che ci è stato segnalato anche da alcuni dei nostri professori.

ciao ;)

Scritto da Mirco Macrelli , Venerdì 21 Novembre 2008 alle 23:31

2

Al primo ho dato un occhiata veloce ma sembrano esserci più che altro prove incentrate sulla sicurezza e non è che mi interessi molto.

Il secondo sito invece è veramente molto carino. Mi sono iscritto subito e l'ho messo tra i preferiti. Sarebbe perfetto se si potesse usare ruby per scrivere le varie soluzioni invece di C, Java o PASCAL.

Nuovo Commento
*
*

*

* Campo obbligatorio.

Nel commento puoi usare i tag: <a href>, <br/>, <strong>, <p>, <em>. Tutti gli altri verranno eliminati. I collegamenti senza link saranno trasformati automaticamente. Le interruzioni di linea saranno inserite ogni volta che si preme invio.