Petit nouveau ! |
9 Messages
31 mars 2022, 09:24
Bonjour,
M'ouias !
Des pistes ? Une à la rigueur, et encore.
google qui n'est pas mon amis m'en a proposé bien plus, mais à côté.
Tant pis.
De mon côté je fais des tests à tâtons, tant que le résultat correspond à ce que j'attends, je continu.
Je sais que c'est empirique et chronophage, mais je n'ai pas d'autres moyens.
Une fois que la procédure fonctionne, je simplifie avec des fonctions, et pour l'instant je sens qu'il y aura récursivité.
J'ai une erreur que je ne comprends pas dans ce code :
<html>
<head>
<meta http-equiv="refresh" content="100000">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
for($min=0;$min<2;$min++)
{ $echo[$min] = '';
//$min = 0; // 540 avec 1 et 180 avec 0
$max = $min +6;
$a=$b=$c=$d=0;
$mem = array();
for($a=$min;$a<$max;$a++)
{ if(in_array($a,$mem)===false)
{ $mem[0] = $a;
for($b=$min;$b<$max;$b++)
{ if(in_array($b,$mem)===false)
{ $mem[1] = $b;
for($c=$min;$c<$max;$c++)
{ if(in_array($c,$mem)===false)
{ $mem[2] = $c;
for($d=$min;$d<$max;$d++)
{ if(in_array($d,$mem)===false)
{ $mem[3] = $d;
$aa = $a - $min;
$bb = $b - $min;
$cc = $c - $min;
$dd = $d - $min;
@$echo[$min] .= '<br>'.$aa.$bb.' '.$cc.$dd;
$end[] = $a.$b.$c.$d;
$mem[3] = '';
}
}
$mem[2] = '';
$echo[$min] .= '<br>';
}
}
$mem[1] = '';
$echo[$min] .= '<hr>';
}
}
$mem[0] = '';
$echo[$min] .= '<hr>';
}
}
echo 'avec $min = '.$min.' et $max = '.$max.' j\'ai '.sizeof($end).' combinaisons<br>';
}
echo 'les 20 premières lignes sont identiques,<br> c\'est après que ça dégénère, avec le 0<table border=1><tr><th>ce que j\'obtiens</th><th>ce que je voudrais</th></tr><tr align="center"><td valign="top">'.$echo[0].'</td><td>'.$echo[1].'</td></tr<></table>';
?>
J'essaye de faire toutes les combinaisons répondant à ma règle : xxxx avec x compris de 0 à 6 et aucune répétition de x.
Quand je boucle de 0 à 6 ça déconne, alors que de 1 à 7 ça fonctionne. Pourquoi ?