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
|
#!bin/sh
# Programme qui, tant qu'un nombre est différent de 1, le divise
# par 2 s'il est pair et le multiplie par 3 et lui ajoute 1 s'il
# est impair.
case $# in
0) echo "Fournissez un nombre s'il vous plait :"
read nombre
while [ $nombre != 1 ]
do
nombre2=$[ nombre % 2 ]
if [ $nombre2 = 0 ]
then
nombre3=$[ nombre / 2 ]
echo "$nombre est pair, j'obtiens donc $nombre3"
else
nombre3=$[ (nombre * 3) + 1 ]
echo "$nombre est impair, j'obtiens donc $nombre3"
fi
nombre=$nombre3
done;;
1) nombre4=$1
while [ $nombre4 != 1 ]
do
nombre5=$[ nombre4 % 2 ]
if [ $nombre5 = 0 ]
then
nombre6=$[ nombre4 / 2 ]
echo "$nombre4 est pair, j'obtiens donc $nombre6"
else
nombre6=$[ (nombre4 * 3) + 1 ]
echo "$nombre4 est impair, j'obtiens donc $nombre6"
fi
nombre4=$nombre6
done;;
*) echo "TROP DE PARAMETRES !"
esac |