Erreur php - énigme

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur php - énigme

Re: Erreur php - énigme

par sirakawa » 09 sept. 2014, 10:43

@moogli surtout:
Il vaut mieux comme certains, répondre que les réponses fournies ne sont pas adéquates, ou qu'on s'était mal expliqué; ça fait remonter le topic sans enfreindre les règles, du moins visiblement.

Re: Erreur php - énigme

par moogli » 08 sept. 2014, 21:32

Modération :
Les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

Re: Erreur php - énigme

par Invité » 08 sept. 2014, 13:54

Pardon je n'avais pas vu le dernier message. Merci pour cette réponse !

Re: Erreur php - énigme

par sirakawa » 08 sept. 2014, 08:45

@r n101011
Non, il ne faut pas ajouter des accolades au for: quand il y a une seule instruction elles sont faculttaives.
Voici une version commentée:
<?PHP //cosmétique
//. aberrant à cause du point
//. int $i; aberrant à cause du point, inexistanten PHP et inutile
for($i = 1; $i < 99; $i++)//point aberrant retiré cubes de $i [1 ...98]
   ${'_'.$i} = pow($i,3); //point aberrant retiré; Crée des variables $_1, $_2...


/* ajout pour comprendre*/
$variables = get_defined_vars();
print "<h2>Variables définies par le premier for</h2>";
print_r($variables);
print "$_2 $_3";
//.point aberrant retiré
/*
virgule à remplacer par ; 
99 à remplacer par 97 : limites, car on multiplie les variables de nom $_i: $__1 à $_99 par les variables de nom $_i+1: $__2 à $_100 qui n'existe pas.

*/

for($i = 1; $i < 97; $i++)// produit de deux cubes successifs
    ${'_'.$i.'_'.($i+1)} = ${'_'.$i} * ${'_'.($i+1)};
print "<hr>";
print "<h2>Variables définies après le second for</h2>";
$variables = get_defined_vars();
print_r($variables);
?><!--point aberrant retiré-->

Re: Erreur php - énigme

par Invité » 08 sept. 2014, 02:26

J'ai simplement ce code à disposition et je dois renvoyer les lignes comportant des fautes + la variable qui renvoie 8869743000 pour valider une énigme.

Il me semble donc que le code permet de calculer pour chaque nombre i < 99 (i*(i+1))^3. Non ?

Re: Erreur php - énigme

par Nestecha » 08 sept. 2014, 00:27

Ce code ne veut rien dire. Je comprends pas bien le but, tu peux développer ? Où as tu eu ce code, qu'est ce qu'il est censé signifier ? Les '_' doivent être remplacés ?

Re: Erreur php - énigme

par Invité » 07 sept. 2014, 23:34

Ma question me parait pourtant triviale pour un oeil averti ! Vraiment personne ?

Re: Erreur php - énigme

par Invité » 07 sept. 2014, 23:01

Up

Erreur php - énigme

par n101011 » 07 sept. 2014, 21:52

Bonjour,

On me demande de corriger les erreurs dans les lignes suivantes:

1. <?php
2.
3. int $i;
4. for($i = 1; $i < 99; $i++)
5.    ${'_'.$i} = pow($i,3);
6.
7. for($i = 1; $i < 99, $i++)
8.    ${'_'.$i.'_'.($i+1)} = ${'_'.$i} * ${'_'.($i+1)};
9.
10. ?> 

Selon moi:
- il faut enlever la ligne 3
- ajouter un { en fin de ligne 4
- ajouter un } ligne 6
- remplacer "," par ";" et ajouter un { à la fin de la ligne 7
- ajouter un } ligne 9


On me demande en plus la variable qui vaut 8869743000 ? Je réponds 45 car (45*46)^3=8869743000

Pour valider ma réponse, je dois écrire réponse = "variable" - "multiplication des nombres des lignes contenant des erreurs entre elles".

Je réponds donc 45-4536 ou 45-21 (si on considère que les {} sont facultatifs car une seule instruction).

Mais dans les 2 cas ma réponse est refusée ! Où ai-je faux ?

Merci