Indicatrice d'Euler méthode du crible

Bonsoir,

Je ne comprends pas ce programme et surtout les passages en rouge.115442
115440

Réponses

  • Ben la condition $t[p] = p$ dans le premier cadre veut dire que les entiers entre $2$ et $p-1$ n'ont pas modifié $t[p]$, donc qu'aucun ne divisait $p$, et c'est ainsi que $p$ est premier.

    Dans le second cadre, je n'ai pas bien compris la syntaxe, mais l'opération consiste à retirer à $t[k]$ un $p$-ième de sa valeur, et cela est fait à tous les multiples $k$ de $p$, lorsque $p$ est premier.
  • Ok merci. La syntaxe correspond à $t[k]=t[k]-t[k]/p$ j'ai fait une recherche sur la commande $-=$

    Si on factorise par $t[k]$ on retrouve la formule du cours.

    Le mieux c'est de prendre un exemple. Si je prends $n=2$.

    On a $t=[0,1,2]$

    $p=2$ et comme $t[2]=2$

    Pour $k$ entre $2$ et $2$ on a $t[2]=2(1-1/2)=1$
  • Attention // c'est une division euclidienne pour le type entier et / c'est la division usuelle pour le type rationnel ou réel
    Bon je sais Python n'est pas typé mais comme la liste t est initialisée par des entiers, l'exécution du code
    se fera sur des entiers avec des divisions euclidiennes : a//b c'est le quotient de a par b
    == est la relation d'égalité et = une affectation
    a-=b veut dire a=a-b c.a.d. on retranche b de a et on place le résultat dans a
    Les mathématiques ne sont pas vraies, elles sont commodes.
    Henri Poincaré
  • Je ne comprends pas trop alors dans le corollaire on ne parle pas de division euclidienne.
  • En python

    4/2 = 2.0
    4//2 = 2
  • Ok merci.

    $t[k]$ est toujours divisible par $p$ de toute façon donc le reste de la division euclidienne de $t[k]$ par $p$ sera nul.
  • Bonjour,

    Oui mais $4/2$ et $4//2$, bien qu'égaux ne sont pas du même type, ça peut quelquefois produire une erreur.

    Cordialement,

    Rescassol
Connectez-vous ou Inscrivez-vous pour répondre.