Ex 5.5 : Différence entre versions

De TravauxIndse
(Nouvelle page : ==Solutions de cet exercices :== * Solution de Cyril Dewez : a,b=1,1 while b<65: print ("case ",b," : ",a,"grain(s)") print ("case ",b," : ",float(a),"grain(s)") a,b=a+...)
 
 
(3 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
==Énoncé de l'exercice :==
 +
Une légende de l’Inde ancienne raconte que le jeu d’échecs a été inventé par un vieux
 +
sage, que son roi voulut remercier en lui affirmant qu’il lui accorderait n’importe quel
 +
cadeau en récompense. Le vieux sage demanda qu’on lui fournisse simplement un peu
 +
de riz pour ses vieux jours, et plus précisément un nombre de grains de riz suffisant
 +
pour que l’on puisse en déposer 1 seul sur la première case du jeu qu’il venait d’inventer,
 +
deux sur la suivante, quatre sur la troisième, et ainsi de suite jusqu’à la 64e case. Écrivez un programme Python qui affiche le nombre de grains à déposer sur chacune
 +
des 64 cases du jeu. Calculez ce nombre de deux manières : 1)le nombre exact de grains (nombre entier) ; 2)le nombre de grains en notation scientifique (nombre réel).
 
==Solutions de cet exercices :==
 
==Solutions de cet exercices :==
 +
 +
* Solution de Aurore Werner :
 +
#Première manière
 +
a=1
 +
b=2
 +
c=0
 +
while (c<64):
 +
    a=a*b
 +
    c=c+1
 +
    print (c, ":" , a)
 +
 +
#Deuxième manière
 +
a=1.
 +
b=2.
 +
c=0
 +
while (c<64):
 +
    a=a*b
 +
    c=c+1
 +
    print (c , ":" , a)
 +
 
* Solution de Cyril Dewez :
 
* Solution de Cyril Dewez :
 
  a,b=1,1
 
  a,b=1,1
Ligne 6 : Ligne 34 :
 
     print ("case ",b," : ",float(a),"grain(s)")
 
     print ("case ",b," : ",float(a),"grain(s)")
 
     a,b=a+a,b+1
 
     a,b=a+a,b+1
*Solution de Gérard Swinnen :
+
* Solution de Kévin Detaille :
 +
a,b=1,1
 +
while a<2**64:
 +
    print(int(a),float(a))
 +
    a=a*2
 +
* Solution de Gérard Swinnen :
 
  n = 1      # numéro de la case  
 
  n = 1      # numéro de la case  
 
  g = 1      # nombre de grains à y déposer  
 
  g = 1      # nombre de grains à y déposer  

Version actuelle datée du 8 décembre 2015 à 23:01

Énoncé de l'exercice :

Une légende de l’Inde ancienne raconte que le jeu d’échecs a été inventé par un vieux sage, que son roi voulut remercier en lui affirmant qu’il lui accorderait n’importe quel cadeau en récompense. Le vieux sage demanda qu’on lui fournisse simplement un peu de riz pour ses vieux jours, et plus précisément un nombre de grains de riz suffisant pour que l’on puisse en déposer 1 seul sur la première case du jeu qu’il venait d’inventer, deux sur la suivante, quatre sur la troisième, et ainsi de suite jusqu’à la 64e case. Écrivez un programme Python qui affiche le nombre de grains à déposer sur chacune des 64 cases du jeu. Calculez ce nombre de deux manières : 1)le nombre exact de grains (nombre entier) ; 2)le nombre de grains en notation scientifique (nombre réel).

Solutions de cet exercices :

  • Solution de Aurore Werner :
#Première manière
a=1
b=2
c=0
while (c<64):
    a=a*b
    c=c+1
    print (c, ":" , a)
#Deuxième manière
a=1.
b=2.
c=0
while (c<64):
    a=a*b
    c=c+1
    print (c , ":" , a)
  • Solution de Cyril Dewez :
a,b=1,1
while b<65:
   print ("case ",b," : ",a,"grain(s)")
   print ("case ",b," : ",float(a),"grain(s)")
   a,b=a+a,b+1
  • Solution de Kévin Detaille :
a,b=1,1
while a<2**64:
   print(int(a),float(a))
   a=a*2
  • Solution de Gérard Swinnen :
n = 1       # numéro de la case 
g = 1       # nombre de grains à y déposer 
# Pour la variante, il suffit de définir g comme <float> 
# en remplaçant la ligne ci-dessus par :  g = 1. 
while n < 65 : 
   print(n, g) 
   n, g = n+1, g*2