« 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
Scritto da Mirco Macrelli , Venerdì 21 Novembre 2008 alle 23:31
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.
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 ;)