Programme Python - diviseur

Répondre


Aide syntaxe LaTeX
Les BBCodes sont activés
[img] est désactivé
[flash] est désactivé
[url] est activé
Les smileys sont désactivés

Revue du sujet
   

Si vous souhaitez joindre un ou plusieurs fichiers, complétez les indications suivantes.

Étendre la vue Revue du sujet : Programme Python - diviseur

Re: Programme Python - diviseur

par SoS-Math(34) » jeu. 12 nov. 2020 21:15

Bonsoir

Les deux programmes sont relativement comparables et tout aussi efficaces.

Bonne continuation
Sosmaths

Re: Programme Python - diviseur

par Invité » jeu. 12 nov. 2020 21:00

Merci beaucoup !

On a appris la boucle while cette semaine et je connais la boucle for.

Du coup, y a-t-il un programme qui est "mieux" parmi les 2 ou pas ?

Merci, grâce à vous j'ai compris !!

Re: Programme Python - diviseur

par sos-math(21) » jeu. 12 nov. 2020 20:43

Bonjour,
un diviseur d'un nombre entier naturel \(n\) non nul est compris entre 1 et \(n\).
Si tu cherches le premier diviseur supérieur à 1, tu peux chercher à parcourir la suite des nombres entiers entre 2 et n, à tester la divisibilité de \(n\) par ce nombre et à t'arrêter dès que tu tombes sur un diviseur, c'est à dire un nombre pour lequel le reste de la division euclidienne de \(n\) par ce nombre est égal à 0.
Tu peux au choix utiliser une boucle for ou une boucle while en fonction de ce que tu connais.
Avec une boucle while :

Code : Tout sélectionner

def cherche_div(n):
    """recherche le premier diviseur >1 d'un nombre"""
    d = 2
    while n%d != 0:
        d = d + 1
    return d
et avec une boucle for :

Code : Tout sélectionner

def cherche_div_2(n):
    """recherche le premier diviseur >1 d'un nombre"""
    for d in range(2,n+1):
        if n%d == 0:
            return d
Bonne continuation

Re: Programme Python - diviseur

par Invité » jeu. 12 nov. 2020 20:31

Merci. j'ai beaucoup cherché hier mais je ne vois vraiment pas...

est-ce que vous pourriez me dire comment faire svp ?

merci beaucoup bonne soirée

Re: Programme Python - diviseur

par SoS-Math(34) » mar. 10 nov. 2020 18:09

Bonjour

Une aide :
Dire que d est un diviseur de n revient à dire que le reste de n dans la division euclidienne par d est 0, c'est à dire n%d=0 en langage Python.
Tu peux effectivement utiliser une boucle "while".

Bonne recherche
sosmaths

Programme Python - diviseur

par idem » mar. 10 nov. 2020 16:01

Rebonjour

C'est le deuxième exo que j'ai : "Ecrire un programme qui recherche le plus petit diviseur autre que 1 de n donné en paramètre."

J'utiliserais bien une boucle while, mais comment ?
Est-ce une bonne idée ?

Je n'ai pas envie que vous me donniez la réponse toute faite... Mais comment intuiter le programme ? A la main déjà ?

Merci bien !

Haut