• zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-19

    J'ai un petit script bash qui me sort tous les premiers depuis 1.
    Je devrais l'éditer et vérifier ça.

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-19

    Donc je devrais faire :
    - soit N, mon nombre premier sorti par mon script
    - retirer 1 à N
    - vérifier que le modulo de N par 24 est bien égal à 0

    C'est bien ça ?

    0
  • Emmanuel Florac
    Emmanuel Florac
    2019-02-19

    @Frantz (zebulon) Balinski tu peux, cependant dans la vidéo il donne deux démonstrations de la chose qui évitent cette approche bourrin :)

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    Sympa la vidéo. Dommage qu'il cause si vite. Heureusement qu'on peut avoir des sous titres, même qu'en anglais. Ça aide à suivre un peu mieux.

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    test 1

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    test 2

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    "Vidéos en cours d'encodage" ?!? Je les ai postées il y a 8 heures, avant d'aller me coucher cette nuit. Et elles sont toujours pas encodées ?!?

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    En tout cas, à part pour 2 et 3, les autres nombres retournent bien un modulo 24 = 0, une fois montés au carré et retiré 1.
    Donc 1) ce qu'il dit fonctionne
    2) ma commande prime-numbers fonctionne bien aussi

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-20

    source du C (en fait, c'est plus une commande depuis que je l'ai un peu optimisé sur le test)

    0
  • isaacc@pluspora.com
    isaacc@pluspora.com
    2019-02-21

    It is another way of saying that every prime (except 2 & 3) is of the form 6*k+/-1

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    And except 25. ;)

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    ils sont sympas chez debian, ils m'ont viré le source C. :S

    0
  • Emmanuel Florac
    Emmanuel Florac
    2019-02-21

    @Frantz (zebulon) Balinski comment ça?

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    le source C de la commande que j'avais écrite et qui calcule les premiers de 1 à ..., et que j'ai mis sur paste.debian.net. Je vais voir sur le lien tout à l'heure et y'a plus le code : "Entry not found...". Et c'est pas moi qui l'ai viré. J'avais même mis une durée de 90j. Donc je pige pas. (Encore ce cimetière indien).

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    Bon, ce code n'avait rien d'extraordinaire, car à la base il utilise cette vieille méthode :
    tester un nombre entier appelé N, de 1 à ... :
    calculer sa racine entière R = floor(sqrt(N))
    tester pour I de 2 à R, si la division de N/I tombe juste
    si oui → N pas premier
    si non, une fois avoir testé avec I=R → N est premier

    Mais cette méthode utilise trop de nombres pour les divisions (comme les multiples de premiers : 4, 6, 8, 9, ...). J'ai optimisé ça, en n'utilisant que les premiers précédemment trouvés. En empilant ces nombres dans un tableau (qui gonfle avec le temps). ET, du coup, ça va bien plus vite (voir les vidéos "test 1 & 2"), car beaucoup moins de divisions à tester.

    Et donc j'avais pasté le code source sur paste.debian.net. Mais il a disparu.

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    Et, comme ça, ma commande arrive rapidement à sortir de grands nombres premiers, sans y avoir passer un temps fou. Et tout ça sur un seul core/proc'.

    0
  • zebulon_1er@framasphere.org
    zebulon_1er@framasphere.org
    2019-02-21

    Je vais le remettre sur pastebin...
    → https://pastebin.com/Me2DkUm2

    0