|
MAXIMA : CARRÉS et LEURS SOMMES Programmation Calcul des carrés des nombres. Recherche des
nombres somme
de carrés plusieurs fois. |
|
||
Programme Notez l’omission des parenthèses derrière do ;
une seule suffit. |
Explications La liste des nombres qui sont la somme de deux
carrés seront listés dans L. Boucle d’exploration des nombres n de 1 à 100. Boucle d’exploration des deux termes de la somme
(a et b). Calcul de la somme des carrés en S. Si cette somme vaut n, alors ajouter une entrée à
la liste. Cette entrée comprend le nombre (n) et les deux termes (a et b).
Une paire de crochet indique que c’est que liste et la seconde paire que la
sortie doit montrer une liste. Impression de la liste et de sa longueur, la
quantité de sommes trouvées. Ici, 38 sommes pour les nombres de 1 à 100. Avec
doubles présentation pour 50, 65 et 85. |
|
|
||
|
||
Programme
Maxima Notez la remise en place de toutes les parenthèses
après do. Nécessaire pour isoler des traitements spécifiques, notamment dans
la première boucle. |
Explications Pour débuter l’analyse d’un nombre n, on
initialise la liste l et un compteur kt. L’exploration des termes peut être optimisée.
Inutile d’aller plus loin que nn, égal à l’entier juste supérieur (ceiling) à racine de n. Deux boucles d’exploration des termes de la somme
a et b. Si la somme des carrés est égale à n, on ajoute
la configuration dans la liste et on ajoute 1 au compteur. Ces deux actions
sous condition sont bien placées entre parenthèses et séparées par une
virgule En fin d’examen pour un nombre, si le compteur
est supérieur à 1, alors impression du résultat. On retrouve les trois configurations vues
ci-dessus. |
|
Pour n jusqu’à 100 |
Les suivants jusqu’à 200 |
|
Programme
Maple pour comparaison |
Explications La boucle est en for … from… to… do… od : Fin d’instruction en : et non
virgule. Adjonction à une liste en rappelant la liste par op(L) et en précisant
l’élément à ajouter (au lieu de append). Les fins de boucle et de conditions sont explicitement montrées avec
od et if (au lieu d’un fermeture de parenthèses |
|
|
||
N de 1 à 1000 [50, 1, 7], [50, 5, 5] [65, 1, 8], [65, 4, 7] [85, 2, 9], [85, 6, 7] [125, 2, 11], [125, 5, 10] [130, 3, 11], [130, 7, 9] [145, 1, 12], [145, 8, 9] [170, 1, 13], [170, 7, 11] [185, 4, 13], [185, 8, 11] [200, 2, 14], [200, 10, 10] [205, 3, 14], [205, 6, 13] [221, 5, 14], [221, 10, 11] [250, 5, 15], [250, 9, 13] [260, 2, 16], [260, 8, 14] [265, 3, 16], [265, 11, 12] [290, 1, 17], [290, 11, 13] [305, 4, 17], [305, 7, 16] [325, 1, 18], [325, 6, 17], [325, 10, 15] [338, 7, 17], [338, 13, 13] [340, 4, 18], [340, 12, 14] [365, 2, 19], [365, 13, 14] [370, 3, 19], [370, 9, 17] [377, 4, 19], [377, 11, 16] [410, 7, 19], [410, 11, 17] [425, 5, 20], [425, 8, 19], [425, 13, 16] [442, 1, 21], [442, 9, 19] [445, 2, 21], [445, 11, 18] [450, 3, 21], [450, 15, 15] [481, 9, 20], [481, 15, 16] [485, 1, 22], [485, 14, 17] [493, 3, 22], [493, 13, 18] |
[500, 4, 22], [500, 10, 20] [505, 8, 21], [505, 12, 19] [520, 6, 22], [520, 14, 18] [530, 1, 23], [530, 13, 19] [533, 2, 23], [533, 7, 22] [545, 4, 23], [545, 16, 17] [565, 6, 23], [565, 9, 22] [578, 7, 23], [578, 17, 17] [580, 2, 24], [580, 16, 18] [585, 3, 24], [585, 12, 21] [610, 9, 23], [610, 13, 21] [625, 7, 24], [625, 15, 20] [629, 2, 25], [629, 10, 23] [650, 5, 25], [650, 11, 23], [650, 17, 19] [680, 2, 26], [680, 14, 22] [685, 3, 26], [685, 18, 19] [689, 8, 25], [689, 17, 20] [697, 11, 24], [697, 16, 21] [725, 7, 26], [725, 10, 25], [725, 14, 23] [730, 1, 27], [730, 17, 21] [740, 8, 26], [740, 16, 22] [745, 4, 27], [745, 13, 24] [754, 5, 27], [754, 15, 23] [765, 6, 27], [765, 18, 21] [785, 1, 28], [785, 16, 23] [793, 3, 28], [793, 8, 27] [800, 4, 28], [800, 20, 20] [820, 6, 28], [820, 12, 26] [845, 2, 29], [845, 13, 26], [845, 19, 22] [850, 3, 29], [850, 11, 27], [850, 15, 25] [865, 9, 28], [865, 17, 24] [884, 10, 28], [884, 20, 22] [890, 7, 29], [890, 19, 23] [901, 1, 30], [901, 15, 26] [905, 8, 29], [905, 11, 28] [925, 5, 30], [925, 14, 27], [925, 21, 22] [949, 7, 30], [949, 18, 25] [962, 1, 31], [962, 11, 29] [965, 2, 31], [965, 17, 26] [970, 3, 31], [970, 21, 23] [985, 12, 29], [985, 16, 27] [986, 5, 31], [986, 19, 25] [1000, 10, 30], [1000, 18, 26] |
|
2, 50
[1, 7], [5, 5] 3, 325
[1, 18], [6, 17], [10, 15] 4, 1105 [4,
33], [9, 32], [12, 31], [23, 24] 6, 55 25 [7,
74], [14, 73], [22, 71], [25, 70], [41, 62], [50, 55] 8, 27 625 [20, 165], [27, 164], [45, 160], [60,
155], [83, 144], [88, 141], [101, 132], [115, 120] Voir Suite |
||
Retour |
Maxima – Liste et ensemble |
Suite |
Liste des programmes réalisés avec Maxima
Carrés
– Index |
Sites |
Voir
liste en programmation
Maxima &
GnuPlot – Logiciel de calcul formel & logiciel de tracé de courbes –
Thomas Custanet – Tout ce qu’il faut savoir pour débuter |
Cette page |