Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
teaching:progappchim:algos_entiers [2015/04/14 16:04] – villersd | teaching:progappchim:algos_entiers [2015/04/20 10:04] – villersd | ||
---|---|---|---|
Ligne 124: | Ligne 124: | ||
</ | </ | ||
- | FIXME : amélioration | + | Exercices |
+ | * amélioration | ||
+ | * utiliser la décomposition en facteurs premiers de deux nombres (ou plus) pour trouver leur PGCD : pour l' | ||
===== Références ===== | ===== Références ===== | ||
Ligne 137: | Ligne 140: | ||
* [[http:// | * [[http:// | ||
===== Recherche du PPCM ===== | ===== Recherche du PPCM ===== | ||
- | Explication de la relation entre pgcd et ppcm via les facteurs premiers des nombres ! | + | Explication de la relation entre PGCD et PPCM via les facteurs premiers des nombres |
- | * [http:// | + | Voici un exemple utilisant les décompositions en facteur premier de 1470 et 252 : |
+ | ^ Facteurs premiers de 1470 ^ Facteurs premiers de 252^ | ||
+ | | __2__ | **2< | ||
+ | | __3__ | **3< | ||
+ | | **5** | | | ||
+ | | **7< | ||
- | ===== Problème | + | Le PGCD est 42, obtenu par le produit des facteurs communs (soulignés), |
- | * [[http:// | ||
===== Problème des apéritifs ===== | ===== Problème des apéritifs ===== | ||
+ | |||
+ | Énoncé en version " | ||
+ | |||
+ | < | ||
+ | |||
+ | Illustration : | ||
+ | {{ http:// | ||
+ | |||
+ | En chimie, un problème tout à fait équivalent consiste, en masses entières (donc en nombre de nucléons), à trouver une formule chimique incluant différents atomes d' | ||
+ | donnée. En voici une solution : | ||
+ | |||
+ | <sxh python; title : aperitif_initial-02.py> | ||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | http:// | ||
+ | https:// | ||
+ | https:// | ||
+ | """ | ||
+ | |||
+ | def aperitif(total, | ||
+ | """ | ||
+ | |||
+ | version sans itérateur | ||
+ | |||
+ | :arg total int: Prix total à atteindre. | ||
+ | :arg prix list: Liste des prix disponibles. | ||
+ | |||
+ | :return: liste des solutions, ces solutions étant des | ||
+ | | ||
+ | """ | ||
+ | | ||
+ | if len(prix) == 0: | ||
+ | return [] | ||
+ | if len(prix) == 1: | ||
+ | if total % prix[0] == 0: | ||
+ | return [[int(total // prix[0])]] | ||
+ | liste=[] | ||
+ | for nombre in range(int((total // prix[0])+1)): | ||
+ | for solution in aperitif(total - prix[0]*nombre, | ||
+ | liste.append([nombre] + solution) | ||
+ | return liste | ||
+ | |||
+ | atomes=[1, | ||
+ | # atomes=atomes[:: | ||
+ | masse=59 | ||
+ | print atomes, | ||
+ | print masse, type(masse) | ||
+ | print aperitif(masse, | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Références ==== | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
Ligne 155: | Ligne 215: | ||
* formules CHON(S) | * formules CHON(S) | ||
* protéines | * protéines | ||
- | * spectro | + | * spectrométrie |
+ | |||
+ | ===== Problème du sac à dos ===== | ||
+ | L’énoncé | ||
+ | |||
+ | < | ||
+ | |||
+ | En voici une illustration (source wikimedia) : | ||
+ | {{ http:// | ||
+ | |||
+ | Ce problème revêt une importance économique dans de nombreux secteurs tels que la découpe de matériaux (afin de minimiser les pertes) ou le chargement de cargaisons (avions, camions, bateaux, | ||
+ | |||
+ | Solutions en Python : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
===== Références diverses ===== | ===== Références diverses ===== |