1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>
</head>
<body>
<?php
// Nombre questions
$N = 20;
// Nombre solutions possibles
$S = 5;
function NextPossibility($data, $Nf, $Sf) {
$next = false;
$position = 0;
$d = $data;
while(! $next) {
if($position == $Nf) {
echo "Dernier 'Next'";
return false;
}
if($data[$position] < $Sf-1) {
$d[$position]++;
for($i=0; $i<$position; $i++) $d[$i] = 0;
$next = true;
}
$position++;
}
return $d;
}
funtion checkSolution($data) {
$N = count($data);
// Q1
for($i=0; $i<5; $i++) {
if($data[$i] == 1 && $data[0] != $i) {
return false;
}
}
// Q2
for($i=0; $i<$N-1; $i++) {
$count = 0;
if($data[$i] == $data[$i+1]) {
$count++;
if($count > 1) return false;
}
//
// **************
// TODO complete comparaison ?!
//
}
// Q3
for($i=0; $i<$N; $i++) {
$count = 0;
if($data[$i] == 4) {
$count++;
}
}
if($count != $data[2]) return false;
// Q4
}
function MyDump($data) {
print "Data: ";
for($i=0; $i<count($data); $i++) print $data[$i] . " ";
print "<br/>";
return;
}
/* Main Program
*/
for($i=0; $i<$N; $i++) $D[] = 0;
//var_dump($D);
for($i=0; $i<1000; $i++) {
$D = NextPossibility($D, $N, $S) ;
MyDump($D);
}
?>
</body>
</html> |
Partager