IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Fonction Diviseurs d'un entier strictement positif


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Par défaut Fonction Diviseurs d'un entier strictement positif
    Bonsoir;
    Je suis débutant en algorithmique et j'aimerais comprendre cette fonction Diviseurs qui permet de renvoyer la somme des diviseurs d'un entier strictement positif. La fonction est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Fonction Diviseurs(k:entier):entier
       i:entier
    Debut
        sdx <- 1
      pour i de 2 à(x div 2) faire
       Si (x MOD i=0)
                   Alors sdx <- sdx+1
       Fin si
      Fin pour 
    Diviseurs <- sdx
    Fin
    Je n'ai pas compris le corps de la fonction, pourquoi on a initialisé le compteur de la boucle à 2, utilisé (x div 2) et testé si (x MOD i =0). Bref, je n'ai pas compris cette fonction Alors si vous pouvez me l'éclaircir un peu, je vous serai reconnaissant
    Merci !!!

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    A première vue, ca ne retourne pas la somme des diviseurs, mais le nombre de diviseurs de x/2 (x n'étant pas défini )

    Bref, c'est assez curieux comme fonction.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut
    Bonjour,
    Citation Envoyé par Binôme_pfe Voir le message
    pourquoi on a initialisé le compteur de la boucle à 2,
    Afin d'éviter un test inutile qui est toujours vrai :

    Citation Envoyé par Binôme_pfe Voir le message
    utilisé (x div 2)
    Par ce que le plus grand diviseur d'un nombre x ne peut être supérieur à sa moitié ( x non compris)

    Citation Envoyé par Binôme_pfe Voir le message
    et testé si (x MOD i =0)
    Afin de déterminer si i est diviseur de x.

    Comme il a été dit, x n'est pas défini!! il doit surement s'agir du paramètre de la fonction que vous notez k.

Discussions similaires

  1. fonction pour détecter 1 entier
    Par amadousoind dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/01/2008, 11h00
  2. Réponses: 3
    Dernier message: 11/01/2008, 19h24
  3. Réponses: 6
    Dernier message: 22/11/2006, 10h38
  4. fonction qui transforme un entier en octet
    Par personne64 dans le forum C
    Réponses: 43
    Dernier message: 10/05/2006, 15h36
  5. Expression régulière d'un nombre strictement positif?
    Par rlnd23 dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/11/2005, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo