Bonjour à tous,
Je débute et apprend seul, j'ai donc quelques difficultés...
Pour le code posté ci-dessous je n'arrive pas à boucler afin d'arriver à 1.
Pourriez-vous m'éclairer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#!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
    nombre2=$[ nombre % 2 ]
    while [ $nombre > 1 ]
        do
     	   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
	done;;
  1)  nombre4=$[ $1 % 2 ]
   while [ $1 > 1 ]
       do
          if [ $nombre4  = 0 ]
                then
                        nombre4=$[ $1 / 2 ]
                        echo "$1 est pair, j'obtiens donc $nombre4"
                else
                        nombre4=$[ ($1 * 3) + 1 ]
                        echo "$1 est impair, j'obtiens donc $nombre4"
          fi
        done;;
   *) echo "TROP DE PARAMETRES !"
esac
D'avance, merci.