Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#202 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 26-11-2020 11:45:07

Re bonjour
Testé avec chrono
50000 nombres premiers   (dernier =611953) en 1mn 33 s 92/10

#203 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 26-11-2020 11:13:19

Bonjour yoshi
Pour répondre à ta question yoshi lis bien ce qui suit stp
Je déclare  que la différence entre les carrés de 2 nombres premiers divisée par 12 donne   toujours un entier
si cette déclaration s'avère vraie et est inédite je  te prie de la publier en mon nom et merci

#204 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 26-11-2020 10:56:59

Re Bonjour
Voici un exemple expliquant l'utilité de la division par 12
admettons que le compteur a passé 19 et retenu son carre cad AncienCarre=361
la boucle sautera à 21
Carre =21² = 441
Différence=441-361=80
80/12  n'est pas entier on saute au suivant en l'occurrence 23
23²=529
Différence = 529-361 =168
Oui 168/12 = un entier cad  14
on retient 23 pour les verifs  ultérieures

#205 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 26-11-2020 10:44:57

Bonjour
élimine la partie inutile pour voir si ça marche c'est simple non ?
La division par 12 filtre beaucoup de nombres et soulage la vérification ultérieure
Comparez les temps d'exécution des algorithmes classiques et de celui-ci
J'ai encore simplifié l'algorithme pour gagner plus de temps. je posterai plus tard.
Merci

#206 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 22:38:28

Bonne nuit  48PierrelePetit
Moi même je ne peux expliquer le raisonnement mais la réalité est la .... et ça marche !
Essayons donc tous de comprendre comment et pourquoi ça marche.
J'ai remodelé l'algorithme et gagné encore du temps d'exécution

@ plus et merci de vos participations

#207 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 21:59:14

Re
Le compteur traitera 13 avec son carré 169  car racine(13) n'est pas entier  et l'acceptera mais ce que tu n'as pas compris c'est lorsque le compteur arrivera a 169 Il ne calculera pas 169² car la racine de 169 est 13 qui est Entier

#208 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 21:38:28

Bonjour 48PierrelePetit

écarter 81 ou 169  par exemple dans la boucle principale qui sont des carrés de 9 et 13  te pose un problème dans la tête ?
je crois que tu t'es précipité dans tes propos ou bien tu as raison je dois m'arrêter et je dois te remercier du conseil
Pourquoi faut il toujours que je reçoive des coups dans ce forum ? ne sommes nous pas entre intellectuels qui pourraient excuser et corriger poliment  les erreurs des autres  ?

#209 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 19:56:42

Bonsoir 48PierrelePetit
Disons que c'est une conjecture pour l'instant et appelons la Conjecture Omar
ça te va ? hhhhhh
Non, sérieusement l'apport neuf à mon avis est  comme suit
1 er  Ecarter les nombres dont la racine est un entier
2 eme  soit N le nombre en cours et N' le nombre premier qui précède
            si (N-N")/12  est un entier on continue

#210 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 17:27:30

Merci yoshi
Très heureux de lire ton appréciation et de constater que ce travail n'a pas été futile

#211 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 16:52:44

Citation de ton poste 17  :On part de 3 et on va donc de 3 à 5, 5 exclu.
Non 5 ne doit pas être exclu

#212 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 16:46:44

Salut yoshi
Je crois que le problème entre Windev et python c'est l'expression des variables et de leurs initialisations
Essaie de réinitialiser tes variables aprés chaque passage de boucle (mis à part MonNombre) 
Vérifier que Carre et AncienCarre  portent les valeurs  qu'on leur affecte (surtout AncienCarre)

Sinon
je suis prêt à te passer mon algorithme Windev et tu pourras le faire tester par quelqu'un d'autres sous sa machine avec Windev
Dernière remarque
Il est évident que 35/3 n'est pas entier et que 35 ne doit pas passer dans la dernière boucle sans que Result soit faux
Je crois que cette remarque devrais suffire pour dire que le problème ne vient pas de mon algorithme

#213 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 15:49:52

Bonjour 48PierrelePetit
Malheureusement je travaille sur un PC  vieille génération 32 bits et je ne crois pas que les réels sous Windev supporteraient un si grand nombre  mais déjà arriver à un million cela réconforte.
J'attends de vous une confirmation que ça marche plus loin
Mais permettez-moi de poser une question: Est ce que ce travail apporte quelque chose de nouveau ou non
Merci.

#214 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 13:46:46

J'ai testé ce travail jusqu'à MonNombre= 1 000 000 et ça m'a donne 78 498 nombres premiers
méme résultat sur Wikipedia

#215 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 13:30:27

oui quotient entier  c'est vrai je ne l'ai pas déclaré car en Windev dès lors que vous définissez une variable comme entier  le travail est fait alors qu'en python c'est différent, il paraît

oui dans la boucle interne    for compteur in range(3,Xetendue,2):

#216 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 12:49:00

Pour le 35, normalement il doit passer dans la boucle avec 35/3 est il entier? Non donc  Result =False  le 35 ne devrait pas passer
Je ne connais pas Python mais vérifier que la boucle part de 3 avec 3 inclu

#217 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 12:18:41

Désole Modo Ferox j'étais plongé dans les calculs , désolé pour mon  indélicatesse j'ai posté avant de consulter les nouveaux postes

#218 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 12:14:18

je n'ai aucun intrus dans les résultats de mon algorithme ( pas de 35)
cherchons encore

#219 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 12:04:37

Bonjour Yoshi
J'ai trouvé ton erreur
result=false la casse de result n'a pas été respectée
Essaie avec Result= False

#220 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 25-11-2020 10:42:17

Re
Merci Yoshi et bon courage pour ton travail
Je vais reprendre le travail et voir pourquoi dans ton algorithme on obtient des multiples de 5, c'est bizarre chez moi ils n'apparaissent pas du tout.
@ très bientôt

#221 Re : Café mathématique » Nouvelle logique pour calculer les nombres premiers » 24-11-2020 22:11:14

Bonjour,
Quelqu'un a testé l'algorithme ?
J'attends toujours une réaction ou critique, surtout celles de Yoshi Ou LEG que je salue par l'occasion.
A +

#222 Café mathématique » Nouvelle logique pour calculer les nombres premiers » 23-11-2020 21:25:26

Omhaf
Réponses : 36

Bonjour Mes amis
J'en viens vers vous cette fois après avoir testé une nouvelle logique pour calculer les nombres premiers
je vous la présente comme ci dessous et je vous prie chacun selon le langage qu'il utilise de tester
Merci

// Langage utilisé : Windev
MonNombre,compteur,,carre,AncienCarre,Difference sont des entiers
xunite,xetendue sont des nombres reels
Result est booleen
/// Début de la boucle principale  Nombre premiers entre 1 et 2000
Pour MonNombre =1 à 2000 pas 2  //(step 2)   
    carre=(MonNombre*MonNombre)/2
    Difference=Carre-AncienCarre
    Result=Faux
    Si modulo(Difference,12)=0
          Result=Vrai
     fin
    Si Result=vrai et PartieDécimale(Racine(MonNombre))<>0
        XEtendue=PartieEntière(Racine(MonNombre))
        //Balayage des diviseurs potentiels de MonNombre
        Pour Compteur=3 a Xetendue  Pas 2
            Xunite=MonNombre/Compteur
            Si PartieDécimale(Xunite)=0
                Result=Faux //  Pas premier
            Fin
        Fin
        Si Result=vrai
            Afficher MonNombre  //Nombre premier afficher selon votre langage dans un tableau ou Liste
            AncienCarre=Carre
        fin
    Fin
Fin
Voilà c'est tout

#223 Re : Café mathématique » Génération des nombres premiers : algorithme » 26-09-2020 14:28:00

Dernière chose à mentionner avant de me taire
tout le monde sait confectionner un algorithme
Boucle allant de 1 a X
vérifier dans une autre boucle allant de  2 à racine de X
vérifier si la division donne un reste nul ou non (modulo)
afficher si reste différent de  0 (c'est un nombre premier)

Quant à ma méthode elle diffère totalement et procède avec une nouvelle logique qui n'a pas besoin de boucler et reboucler
Pas Grave

#224 Re : Café mathématique » Génération des nombres premiers : algorithme » 26-09-2020 09:14:40

Mon horizon est limité oui c'est vrai
Désolé d'avoir perturbé

#225 Re : Café mathématique » Génération des nombres premiers : algorithme » 26-09-2020 08:59:45

Bonjour LEG
Je crois que tu m'as mal compris,
relis mon poste stp
en plus des 168 nombres premiers inférieurs à 1000 j'ai 33 nombres en plus et ce qui les caractérisent tous est qu'ils sont des produits de 2 nombres premiers

Pied de page des forums