Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

python diviseur d'un entier

Posté par
Nelcar
15-03-19 à 14:19

Bonjour,
mon exercice est :
première partie :
1à à l'aide d'une calculatrice, on a programmé en langage Python la fonction nbdv dont l'argument est un entier nautrel a non nul. (rappel : a%i donne le reste de la division de a par i)
def nbdv(a):
    n=0
    for i in range(1,a+1):
        if a%i==0:
           n=n+1
    return(n)
dans la console Python j'ai mis
>>> nbdv(7)
2

questions :
a) que signifie l'instruction a%i==0?
je dirai qu'il n'y a pas de reste dans la division de a par i

b) que renvoie nbdv(6)?
dans la console j'ai mis nbdv(6) et j'ai un résultat de 4
>>> nbdv(6)
4
>>>
pour moi (mais j'ai un gros doute) a est le nombre que l'on veut diviser mais je ne comprends pas pourquoi un reste de 4

c) que renvoie cette fonction pour un entier a non nul ?
je ne comprends pas (je dirai le reste de la division)

Merci de m'éclaircir pour cette première partie avant d'aller plus loin.

Posté par
lionel52
re : python diviseur d'un entier 15-03-19 à 14:33

Cette fonction renvoie le premier entier qui ne divise pas n!
Pour 6 comme 1 2 3 divisent 6 et 4 non bah le programme renvoie 4

Posté par
alb12
re : python diviseur d'un entier 15-03-19 à 15:00

salut,
2/a/ a%i==0 signifie le reste de la division de a par i est nul
autrement dit
i est un diviseur de a
2/b/ Que signifie ce test:
if a%i==0:
     n=n+1

Posté par
Nelcar
re : python diviseur d'un entier 15-03-19 à 15:15

Re,
merci à vous deux.
Je pensais avoir compris ce que m'avait mis lionet52 mais je viens de faire des essais et ça ne va pas avec ce que je pensais avoir compris
exemple pour 7 j'ai bien 1 et non deux donc ok dans la console j'ai 2 mais si je prend un autre exemple comme 9 j'ai bien divisible par 1 mais par par 2 et dans la console j'ai 3
là je ne comprends plus rien
Alb12 : b) on calcule le nombre d'entier 6 est divisible pour avoir un reste de 0


et pour la question c) que renvoie cette fonction pour un entier naturel a non nul ? je dirai qu'il renvoie les nombres à laquelle l'entier est divisible sans reste (j'ai du mal à m'exprimer)

MERCI

Posté par
lionel52
re : python diviseur d'un entier 15-03-19 à 15:39

Sorry jsuis complètement à côté de la plaque

la fonction calcule le nombre de diviseurs de n

pour nbdv(9) = 3 normal (1,3,9)

Posté par
Nelcar
re : python diviseur d'un entier 15-03-19 à 15:43

Re,
oui Lionet52 je viens de comprendre en faisant "x" essais
Pour Alb12: on cherche pour un nombre combien de fois on peut le diviser pour avoir un reste de 0
j'ai essayé avec nbdv(12) et j'ai 5( 1,2,3,4et12)
je mettrai la suite un peu plus tard
MERCI



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !