Bonjour,
Pour ce sixi�me d�fi propos� par SpiceGuid, l'�quipe de developpez.com vous propose un challenge assez court qui peut laisser place � l'optimisation.
Challenge :
Il s'agit d'�crire une fonction (s: string) → string qui renvoie un palindrome p tel que:
- s contient p
- s ne contient aucun palindrome qui soit strictement plus long que p
On rappelle qu'un palindrome est une cha�ne de caract�re dont l'ordre de lettre est identique, selon que la lise par la gauche ou par la droite.
Formellement, une cha�ne s est un palindrome si et seulement si :
Pour tout i de 0 � taille(s)-1, s[i] = s[taille(s)-1-i]
Les r�gles
Il n'y a pas de r�gle particuli�re (�videmment, il faut que la solution propos�e fonctionne). Vous pouvez proposer des solutions aussi bien dans des langages fonctionnels (caml, haskell, scheme, lisp...) qu'imp�ratif. Le public pourra ainsi juger du code suivant divers crit�res :
- la maintenabilit�
- la simplicit�
- le fait qu'il soit optimis�
Le public pourra �galement juger les diff�rences entre une solution fonctionnelle et une solution imp�rative. Il lui sera ainsi plus facile de voir, pour un m�me probl�me, les diff�rences entre divers paradigmes.
Pour r�pondre, il vous suffit de poster � la suite.
A vos claviers
de votre participation.
__________________________
Sujet propos� par SpiceGuid
Partager