function super_croissance_check($tab = array()) { $current_tab = array(); if (!count_tab($tab)) { echo "ceci est pas un tableau\n"; return false; } else { // tableau de check $tab_check = array(); $current_tab = count_tab($tab); for ($i = 0; $i < $current_tab; $i++) { $actual_count = $i; // si c'est diferrent de zero for ($j = 0; $j < $actual_count; $j++) { // on push les valeur dans un autre tableau array_push($tab_check, $tab[$j]); } // on place la somme du tableau dans une variable $result = array_sum($tab_check); // si le tableau n'est pas une supercroissante if ($tab[$actual_count] < $result) { echo "le tableau n'est pas une suite supercroissante\n"; return false; } // on reset le tableau pour le prochain resultat $tab_check = array(); } // on affiche un message si c'est bien une suite supercroissante return true; } }
function decryptMessToBin($key = array(), $mess = array(), $bloc_limit) { $key_count = count_tab($key); $mess_count = count_tab($mess); $result = null; $bin_result = null; $full_bin_mess = null; $tmp_array = array(); $array_new = array(); $array_sort = array(); $sort_bin_array = array(); $bloc_limit = $bloc_limit - 1; // on met le tableau non ordonné dans un tableau vide $array_new = $key; natsort($array_new); // on doit ordonner le tableau pour decrypter le message foreach ($array_new as $values_in_array) { array_push($array_sort, $values_in_array); } // prendre les valeur dans le tableau for ($i = 0; $i < $mess_count; $i++) { $tmp_value = $mess[$i]; if ($tmp_value == 0) { $full_bin_mess .= 0; } while ($tmp_value > 0) { for ($j = $key_count - 1; $j >= 0; $j--) { if ($tmp_value >= $array_sort[$j]) { $tmp_value -= $array_sort[$j]; $result += $array_sort[$j]; // on push le resultat dans un tableau temporaire array_push($tmp_array, $array_sort[$j]); } } // dans le cas ou si jamais une piece du tableau comporte des zero // la variable K doit etre égal au limiteur - 1, par exemple si on utilise 7 comme limiteur, alors k devra 6 for ($k = $bloc_limit; $k >= 0; $k--) { if (in_array($key[$k], $tmp_array)) { $bin_result .= 1; } else { $bin_result .= 0; } } $full_bin_mess .= $bin_result; $bin_result = null; $tmp_array = array(); } } $sort_bin_array = sortBinMess($full_bin_mess); sortBinMessToRealMess($sort_bin_array); }