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

JavaScript Discussion :

Simplification de fonction


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 27
    Points : 13
    Points
    13
    Par défaut Simplification de fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function A(C)
    {
    	let r = 0;
     
    	let q = 0;
    	while (q <= C)
    	{
    		r += Math.pow(2,  q);
    		++q;
    	}
     
    	return r;
    }
     
    const q2_result0 = A(0);
    console.log(q2_result0); // Expected output 1
     
    const q2_result1 = A(5);
    console.log(q2_result1), // Expected output 63
    Salut alors moi c'est un petit problème.
    Je voudrais savoir comment on simplifie le code , je pense que c'est possible ?
    merci déjà

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 910
    Points : 6 703
    Points
    6 703
    Par défaut
    Avec un décalage de bit et une soustraction.

    Exemple avec 5:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    0000 0000 0000 0001 // on part de 1
    0000 0000 0100 0000 // on le décale 6 fois (5+1)
    0000 0000 0011 1111 // on retranche 1


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const A = (C) => (1 << C + 1) - 1;
     
    console.log(A(0)); // 1
    console.log(A(5)); // 63

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    ah d'accord merci je comprend mieux

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 910
    Points : 6 703
    Points
    6 703
    Par défaut
    D'ailleurs sans passer par la case opérateurs binaires, tu peux faire: Math.pow(2, C + 1) - 1 ce qui revient exactement au même.


    C'est la somme des termes d'une suite géométrique de raison 2, en appliquant la formule (qn+1-1)/(q - 1) on a donc 2n+1 - 1.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    d'accord je prend note

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simplification de fonction
    Par Quentin.vdv dans le forum VBScript
    Réponses: 1
    Dernier message: 08/02/2013, 09h26
  2. Dérivation et simplification de fonctions
    Par sunlover dans le forum Prolog
    Réponses: 1
    Dernier message: 07/12/2011, 22h48
  3. Simplification des fonctions de callback
    Par Gouhouf dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 02/05/2009, 11h32
  4. Simplification de fonction
    Par omman95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/02/2008, 19h37
  5. Simplification de fonction logique - le famous tableau karnaugh
    Par tariq_qui dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 29/04/2007, 13h31

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