Intéressons-nous aujourd'hui à l'algorithmique qui est tombé en exercice 3 pour les Premières S dans l'Académie d'Aix-Marseille:
Question 1)a):
Nous étudions donc l'équation (E) 81a+125b+149c=2013, où a, b et c sont des entiers naturels.
Nous avons donc b≥0 et c≥0.
On en déduit 125b≥0 et 149c≥0.
Par sommation des inégalités, 125b+149c≥0
Mais l'équation (E) peut aussi s'écrire 125b+149c=2013-81a.
On en déduit 2013-81a≥0,
D'où: 2013≥81a
2013/81≥a
a≤2013/81
Comme a est un entier positif et que 2013/81≈24,9 on en déduit que 0≤a≤24.
On montre de même que b≤2013/125 et c≤2013/149, ce qui donne 0≤b≤16 et 0≤c≤13.
Question 1)b):
On nous demande donc maintenant d'écrire un algorithme recherchant tous les triplets (a,b,c) solutions de (E).
Il s'agit donc de vérifier l'équation (E) pour tous les triplets de valeurs possibles pour (a,b,c).
L'on peut faire cela en imbriquant 3 boucles 'pour':
- Code: Select all
Pour a de 0 à 24 faire
Pour b de 0 à 16 faire
Pour c de 0 à 13 faire
Si 81a+125b+149c=2013 alors
Afficher (a,b,c)
FinSi
FinPour
FinPour
FinPour
Remarquons que cet algorithme revient à tester 25*17*14=5950 triplets de valeurs.
Il est possible de traduire cet algorithme en un programme pour nos TI-Nspire, qui nous fournissent un seul triplet de solutions (15,4,2) en seulement quelques secondes!
Le même programme est réalisable sur nos TI-82 à TI-84 ou Casio Graph/Prizm, mais il faudra cette fois-ci patienter quelques dizaines de secondes avant d'obtenir les mêmes solutions:
Sans doute est-ce à cause de ce long temps de calcul que la question suivante fait cadeau de a=15!
Jusqu'à présent les boucles 'pour' sont peu fréquentes au BAC, au profit de boucles 'tant que'.
C'est donc une excellente chose d'en parler aujourd'hui, afin de ne pas avoir de trou de mémoire le jour J si jamais...
Lien:
Olympiades Académiques de Mathématiques 2013 - 1èreS (Aix-Marseille)