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).

#76 04-02-2020 08:52:27

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 14 211

Re : Divisibilité des nombres impairs

Bonjour,

Il n'y avait qu'une scorie que j'avais oublié de nettoyer...

Un "quotient=str(nn%10)" qui n'avait rien à faire là. Correction :

def divisibility_P1_bis(d,nn):
    multiplicateur,quotient=d//10,""
    print(nn)
    while  nn>0:
        u=nn%10
        quotient= str(u)+quotient
        print(str(nn)[:-1]+"("+str(u)+") -",u,"x",multiplicateur)
        nn=int(str(nn)[:-1])-u*multiplicateur
    return nn
 

Quant à P7 :

def divisibility_P7(d,nn):
    multiplicateur,quotient=d//10,""
    constante=multiplicateur*3+2
    print(nn)
    while nn>0:
        u=nn%10
        quotient= str(u)+quotient
        print(str(nn)[:-1]+"("+str(u)+") -",constante,"x",u)
        nn=nn//10-constante*u
    return nn

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#77 05-02-2020 07:47:27

Mamdouh
Membre
Inscription : 05-02-2020
Messages : 1

Re : Divisibilité des nombres impairs

Bonjour,

Je me permets d'intervenir pour proposer une synthèse. Je n'ai pas lu la discussion dans tous ses détails, mais voilà les points importants qui en ressortent selon moi. Je ne discute que du cas appelé P1 par Omhaf, correspondant à l'exemple de la divisibilité de 33333 par 41.

Omhaf propose un algorithme pour décider si un nombre entier donné dont le chiffre des unités est 1 divise un autre nombre entier donné.

Comme mentionné par d'autres lecteurs, il est vrai que la lecture des justifications et des algorithmes proposés est rendue difficile par un manque de rigueur et d'habitude des conventions de l'écriture mathématique. Mais c'est tout à l'honneur d'Omhaf de rechercher de l'aide sur les forums pour que nous puissions justement l'aider à exprimer ses idées pour qu'elles soient lues par d'autres.

Après lecture des diapositives d'Omhaf, concernant le cas P1, je propose d'épurer son algorithme de la façon suivante. Le code ci-dessous est exécutable en Python.


import random
def P1(p,n):
    u = p // 10
    while p <= n :
        n = n // 10 - u * (n % 10)
    return n == 0

La fonction P1 a pour paramètres:
    p: un entier naturel dont le chiffre des unités est 1
    n: un entier naturel
Elle renvoie vrai si p divise n, faux sinon.

Ensuite, il serait important de démontrer que cet algorithme est correct, c'est à dire qu'il termine lorsque qu'il est éxécuté avec des arguments respectant les contraintes imposées et qu'il donne la bonne réponse.

Une partie de la justification reposerait sur le "Théorème" proposé par Omhaf, qu'il convient de reformuler, car il est effectivement écrit de façon incorrect, comme expliqué par d'autres lecteurs. Voici une reformulation que je pense correcte et fidèle à l'idée d'Omhaf. Je ne considère que des entiers naturels, car la divisibilité entre entiers relatifs se ramène à celle entre entiers naturels en considérant les valeurs absolues des nombres en jeu.

Lemme. Pour tous entiers naturels [tex]u,a,b[/tex] avec [tex]0\leq b\leq 9[/tex] :  [tex](10u+1)[/tex] divise [tex](10a+b)[/tex] si et seulement si [tex](10u+1)[/tex] divise [tex](a-ub)[/tex].

Il faut avoir à l'esprit que c'est un résultat évident d'arithmétique élémentaire qui se vérifie en quelques lignes. La preuve que l'algorithme P1 ci-dessus est correcte est également très simple.

Ce qui ne veut pas dire que le travail d'Omhaf n'est pas digne d'intérêt, mais il faut montrer en quoi il est intéressant. Est-il nouveau? (J'en doute fort, car l'algorithme est essentiellement une division par la droite, et de nombreux algorithmes de divisions ont été proposés depuis des millénaires). Est-il rapide? Par exemple, est-il essentiellement plus rapide que l'algorithme d'Euclide?

Bonne continuation!

Dernière modification par Mamdouh (05-02-2020 08:02:19)

Hors ligne

#78 08-02-2020 23:12:27

Omhaf
Membre
Inscription : 16-01-2020
Messages : 13

Re : Divisibilité des nombres impairs

Bonjour tout le monde
Merci Mamdouh pour ton bel article qui résume à mon avis toute l'affaire
Sans oublier l'effort fourni généreusement  par yoshi LEG et d'autres
Cependant, j'aurais bien aimé lire  un commentaire sur la méthode que j'ai annoncée dans mes vidéos et qui consiste à déterminer mon M,
y'a t il une quelconque originalité ou bien c'est déjà fait par d'autres ? Merci.

Dernière modification par Omhaf (08-02-2020 23:13:15)

Hors ligne

#79 11-02-2020 00:49:20

Omhaf
Membre
Inscription : 16-01-2020
Messages : 13

Re : Divisibilité des nombres impairs

Bonjour
Une dernière vidéo qui j'espère tient compte de vos remarques et corrections
celle ci explique la méthode avec des exemples pour les 4 cas 1 3 7 et 9
https://www.youtube.com/watch?v=iSElKWDGCRY

Dernière modification par Omhaf (11-02-2020 00:50:33)

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt quatorze plus vingt
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums