Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Objectif
- # L'Hippodrome de Casablanca organise un nouveau type de course de chevaux : les duels. Lors d'un duel, seulement deux chevaux participent à la course. Pour que la course soit intéressante, il faut sélectionner deux chevaux qui ont une puissance similaire.
- #
- # Écrivez un programme qui, à partir d'un ensemble donné de puissances, identifie les deux puissances les plus proches et affiche leur écart avec un nombre entier positif.
- #
- # Entrées du jeu :
- #
- # Entrée
- # Ligne 1 : Le nombre N de chevaux
- # Les N lignes suivantes : la puissance Pi de chaque cheval. Pi est un entier.
- #
- # Sortie
- # La différence D entre les deux puissances les plus proches. D est un entier positif.
- #
- # Contraintes :
- # 1 < N < 100000
- # 0 < Pi ≤ 10000000
- #
- # Exemple
- # Entrée
- # 3
- # 5
- # 8
- # 9
- # Sortie
- # 1
- read -r N
- list=()
- for (( i=0; i<$N; i++ )); do
- read -r Pi
- list+=($Pi)
- done
- # Tri du tableau
- list=($(printf '%s\n' "${list[@]}" | sort -n))
- # Affecte d à la dernière valeur du tableau
- d=${list[-1]}
- for (( i=1; i<${#list[@]}; i++ )); do
- if (( ${list[i]} - ${list[i-1]} < d ));
- then
- d=$(( ${list[i]} - ${list[i-1]} ))
- fi
- done
- echo $d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement