webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 2009
-
17 août 2008 à 18:25
FaustXVI
Messages postés5Date d'inscriptiondimanche 11 février 2007StatutMembreDernière intervention15 juillet 2009
-
26 oct. 2008 à 00:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
FaustXVI
Messages postés5Date d'inscriptiondimanche 11 février 2007StatutMembreDernière intervention15 juillet 2009 26 oct. 2008 à 00:16
Salut,
je reprendrai les idées des autres en disant que tu aurait au minimum put faire une fonction...
Mais surtout je pense que tu aurai pu optimiser ton code!!
Remplacer :
# $nb = 0; // on initialise le nombre d'occurence
# for($j=0;$j<=$l;$j++) { // pour chaque lettre de la ligne precedente
# if($j===0) { // si on est au premier caractere c'est forcement une premiere occurence
# $nb++; // on incremente
# } else if($j !==$l ....
par
$nb = 1;
for($j=1;$j<=$l;$j++) {
if($j !==$l...
tu evitera ainsi un test par tour et tu fera un tour de moins.
Je sais que ca parrai que dalle comme ca mais si tu n'optimise pas des codes aussi simple ca risque de devenir une catastrophe quand on arrivera à des codes plus complexes!
Enfin derniere chose, essaie de mettre des noms de variable explicites!!
$l devrait etre $longueur au minimum voir $longueurChaineDepart
Je met 5/10 parceque ca a quand meme le merite de faire ce que c'est sensé faire.
Bonne conitnuation
thedeejay
Messages postés74Date d'inscriptiondimanche 2 avril 2006StatutMembreDernière intervention23 juin 2010 20 août 2008 à 19:28
héhé...
c'est une epreuve de newbiecontest...
The Red Man
Messages postés111Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 juin 20102 19 août 2008 à 15:03
lol ! j'ai déjà eu a faire ça en colle de JAVA (ou c'était juste un exo de td je sais plus ^^) en 1ere année de DUT. Mais effectivement tu aurais du faire une méthode ou même mieux une classe static Suites dans laquelle tu écris toutes les méthodes correspondantes au Suites. Ou encore mieux, une interface Suites ainsi que toutes les classes SuitesX (Avec X nom de la suite) implémentant cette classe.
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 18 août 2008 à 18:30
ah mais ce n'est pas ce que je dis, je dis juste que ce n'est pas élégant :p
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 18 août 2008 à 18:23
On peut changer les globales en variables statiques dans la fonction... C'est pas la fin du monde...
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 18 août 2008 à 18:10
(Mais merci pour le nom, je me le suis toujours demandé !)
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 18 août 2008 à 18:10
Effectivement, en faire une fonction récursive est plutôt malin, autant pour moi.
Par contre pour moi, il n'y a ABSOLUMENT rien d'élégant à utiliser une variable globale ;)
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 18 août 2008 à 17:46
Sur l'article Wikipedia, on trouve même comment faire ça en PHP... Avec une fonction, ce qui est très très important, justement, pour l'algo, puisqe sans, on ne peut pas faire de récursivité... La source présentée dans l'article n'affiche qu'une seule ligne définie de la suite, mais avec deux lignes de code en plus (dont une pour une variable statique) on obtient quelque chose de très satisfaisant et en plus de très élégant.
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 17 août 2008 à 18:27
Pouarf non, c'était simplement l'algorithme qu'il faut retenir, vu qu'à la base ça ne sert à rien :p
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 17 août 2008 à 18:25
26 oct. 2008 à 00:16
je reprendrai les idées des autres en disant que tu aurait au minimum put faire une fonction...
Mais surtout je pense que tu aurai pu optimiser ton code!!
Remplacer :
# $nb = 0; // on initialise le nombre d'occurence
# for($j=0;$j<=$l;$j++) { // pour chaque lettre de la ligne precedente
# if($j===0) { // si on est au premier caractere c'est forcement une premiere occurence
# $nb++; // on incremente
# } else if($j !==$l ....
par
$nb = 1;
for($j=1;$j<=$l;$j++) {
if($j !==$l...
tu evitera ainsi un test par tour et tu fera un tour de moins.
Je sais que ca parrai que dalle comme ca mais si tu n'optimise pas des codes aussi simple ca risque de devenir une catastrophe quand on arrivera à des codes plus complexes!
Enfin derniere chose, essaie de mettre des noms de variable explicites!!
$l devrait etre $longueur au minimum voir $longueurChaineDepart
Je met 5/10 parceque ca a quand meme le merite de faire ce que c'est sensé faire.
Bonne conitnuation
20 août 2008 à 19:28
c'est une epreuve de newbiecontest...
19 août 2008 à 15:03
18 août 2008 à 18:30
18 août 2008 à 18:23
18 août 2008 à 18:10
18 août 2008 à 18:10
Par contre pour moi, il n'y a ABSOLUMENT rien d'élégant à utiliser une variable globale ;)
18 août 2008 à 17:46
Il s'agit de la suite de Conway :
http://fr.wikipedia.org/wiki/Suite_de_Conway#cite_ref-0
Sur l'article Wikipedia, on trouve même comment faire ça en PHP... Avec une fonction, ce qui est très très important, justement, pour l'algo, puisqe sans, on ne peut pas faire de récursivité... La source présentée dans l'article n'affiche qu'une seule ligne définie de la suite, mais avec deux lignes de code en plus (dont une pour une variable statique) on obtient quelque chose de très satisfaisant et en plus de très élégant.
17 août 2008 à 18:27
17 août 2008 à 18:25