New Function : Heap's algorithm
This commit is contained in:
parent
23c3e10b0f
commit
eaec55fcbb
@ -31,6 +31,7 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
||||
| **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
|
||||
| **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir |
|
||||
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong ou non. | - nombre : le nombre à tester |
|
||||
| **stringPermutations(string)** | Retourne un tableau contenant toutes les possibilités d'anagramme d'un mot | - string : le mot |
|
||||
|
||||
## La liste des Fonctions Annexes :
|
||||
| Nom | Description | Paramètre(s) |
|
||||
|
BIN
img/function-image/heapAlgorithm.png
Normal file
BIN
img/function-image/heapAlgorithm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 192 KiB |
@ -77,7 +77,12 @@ switch ($currentpage) {
|
||||
$title = "Nombre d'Armstrong";
|
||||
$description = "Un nombre d'<a href='https://fr.wikipedia.org/wiki/Nombre_narcissique' target='_blank'>Armstrong</a> est un nombre qui est égal à la somme de ses chiffres portés à la puissance du nombre de chiffres le composant. Cette fonction permet de savoir si un nombre fait partie des nombres d'Armstrong ou non.";
|
||||
$image = 'https://function.divlo.fr/img/function-image/armstrongNumber.png';
|
||||
break;
|
||||
break;
|
||||
case '/views/function-views/heapAlgorithm.php':
|
||||
$title = "Heap's algorithm";
|
||||
$description = "<a href='https://en.wikipedia.org/wiki/Heap%27s_algorithm' target='_blank'>Heap's algorithm</a> est un algorithme qui génère toutes les permutations unique possibles d'une châine de caractère, c'est en quelque sorte toutes les possibilités d'anagramme d'un mot (en changeant de place les lettres d’un mot, permet d’en créer un nouveau), par contre les mots n'ont pas besoin d'être de vrais mots qui ont du sens.";
|
||||
$image = 'https://function.divlo.fr/img/function-image/heapAlgorithm.png';
|
||||
break;
|
||||
default:
|
||||
$title = 'Erreur 404';
|
||||
$description = "Cette page n'existe pas!";
|
||||
|
@ -366,4 +366,24 @@ function armstrongNumber(number) {
|
||||
} else {
|
||||
return `${number} n'est pas un nombre d'Armstrong, car ${resultString.slice(2)} = ${formatNumberResult(result)}.`;
|
||||
}
|
||||
}
|
||||
|
||||
// Retourne un tableau contenant toutes les possibilités d'anagramme d'un mot
|
||||
function stringPermutations(string) {
|
||||
let results = [];
|
||||
|
||||
if (string.length === 1) {
|
||||
results.push(string);
|
||||
return results;
|
||||
}
|
||||
|
||||
for (let i = 0; i < string.length; i++) {
|
||||
let firstChar = string[i];
|
||||
let charsLeft = string.substring(0, i) + string.substring(i + 1);
|
||||
let innerPermutations = stringPermutations(charsLeft);
|
||||
for (let i = 0; i < innerPermutations.length; i++) {
|
||||
results.push(firstChar + innerPermutations[i]);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
@ -254,7 +254,25 @@ $(function () {
|
||||
}
|
||||
});
|
||||
|
||||
$("#submitHeapAlgorithm").click(function()
|
||||
{
|
||||
let value = $('#value').val();
|
||||
|
||||
if(isEmptyValue(value))
|
||||
{
|
||||
$('.results').html(emptyMessageError);
|
||||
}
|
||||
else
|
||||
{
|
||||
let stringPermutationsResult = stringPermutations(value);
|
||||
let result = "";
|
||||
for (element in stringPermutationsResult) {
|
||||
result = result + stringPermutationsResult[element] + "<br>";
|
||||
}
|
||||
$('.results').html(`Il y a ${formatNumberResult(stringPermutationsResult.length)} possibilités d'anagramme pour le mot "${value}" qui contient ${value.length} caractères, la liste : <br><br> ${result}`);
|
||||
}
|
||||
});
|
||||
|
||||
/* Permet d'afficher l'heure en temps réel sur le footer */
|
||||
window.onload = realDateTime('realDateTime');
|
||||
|
||||
|
@ -96,13 +96,20 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12 pb-4">
|
||||
<div class="col-sm-12 col-md-6 pb-4">
|
||||
<div class="text-center pb-5">
|
||||
<h2 class="function-list-title"><a href="./function-views/armstrongNumber.php">Nombre d'Armstrong</a></h2>
|
||||
<a href="./function-views/armstrongNumber.php"><img class="function-list-image" src="/img/function-image/armstrongNumber.png" alt=""></a>
|
||||
<p class="function-list-description">Vérifie si un nombre fait partie des nombres d'Armstrong ou non.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-md-6 pb-4">
|
||||
<div class="text-center pb-5">
|
||||
<h2 class="function-list-title"><a href="./function-views/heapAlgorithm.php">Heap's algorithm</a></h2>
|
||||
<a href="./function-views/heapAlgorithm.php"><img class="function-list-image" src="/img/function-image/heapAlgorithm.png" alt=""></a>
|
||||
<p class="function-list-description">Génère toutes les permutations unique possibles d'une châine de caractère (en changeant de place les lettres du mot, permet d’en créer un nouveau qui n'a pas forcément de sens).</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
31
views/function-views/heapAlgorithm.php
Normal file
31
views/function-views/heapAlgorithm.php
Normal file
@ -0,0 +1,31 @@
|
||||
<!-- Config -->
|
||||
<?php include("../../php/config.php");?>
|
||||
|
||||
<!-- Header -->
|
||||
<?php include("../../incl/header.php");?>
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="container">
|
||||
<h1><span class="important"><?php echo $title?></span> :</h1>
|
||||
<p class="pt-3 text-center"><?php echo $description?> <br> <br>
|
||||
<em>Par souci de performance, je recommande de ne pas essayer un mot avec + de 8 lettres.</em>
|
||||
</p>
|
||||
<div class="text-center">
|
||||
<img class="function-image" src="/img/function-image/heapAlgorithm.png" alt="Heap's algorithm">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="value">Entrez un mot :</label>
|
||||
<input name="value" type="text" id="value" placeholder="(e.g : Mot)" class="form-control">
|
||||
<br>
|
||||
<div class="form-row text-center">
|
||||
<div class="col-12">
|
||||
<button type="submit" id="submitHeapAlgorithm" class="btn btn-dark text-center">Envoyer</button>
|
||||
</div>
|
||||
</div>
|
||||
<br> <br>
|
||||
<p class="results text-center"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<?php include("../../incl/footer.php");?>
|
Reference in New Issue
Block a user