« Suite de Syracuse » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « La '''suite de Syracuse''' est une suite d'entiers naturels définie de la manière suivante : on part d'un nombre entier strictement positif ; s’il est pair, on le divise par 2 ; s’il est impair, on le multiplie par 3 et l'on ajoute 1. En répétant l’opération, on obtient une suite d'entiers strictement positifs dont chacun ne dépend que de son prédécesseur. {{source|wikipedia|https://fr.wikipedia.org/wiki/Conjecture_de_Syracuse}} == Calcul de la suite =... ») |
(Aucune différence)
|
Version du 21 juillet 2022 à 22:48
La suite de Syracuse est une suite d'entiers naturels définie de la manière suivante : on part d'un nombre entier strictement positif ; s’il est pair, on le divise par 2 ; s’il est impair, on le multiplie par 3 et l'on ajoute 1. En répétant l’opération, on obtient une suite d'entiers strictement positifs dont chacun ne dépend que de son prédécesseur. (Source : wikipedia)
Calcul de la suite
PowerShell
Reprise du script du site de Chevalier-Info, https://www.chevalier-info.com/post/powershell-calculer-la-conjecture-de-syracuse
# Fonction pour le calcul de suites de Syracuse
Function Calcul ($nombre) {
if ($nombre % 2 -eq 0){
$resultat = $nombre / 2
[void]$tableau.Add($resultat)
}
Else{
$resultat = $nombre * 3 + 1
[void]$tableau.Add($resultat)
}
if ($resultat -ne 1){
Calcul $resultat
}
Else{
write-host "Le nombre 1 est atteind !"
write-host "Liste des étapes : "
$tableau
$dureeduvol = $tableau.Count
write-host "Durée du vol :" $dureeduvol
$max = $tableau | measure -Maximum
write-host "Altitude maximum :" $max.maximum
write-host "Fin"
}
}
# Partie principale
Clear-Host
$nombres = 1..12
foreach ($nombre in $nombres) {
$tableau = New-Object System.Collections.ArrayList
write-host -f green "Début du calcul avec :" $nombre
Calcul $nombre
}