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

C++ Discussion :

Tester qu'une variables est une puissance de x


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut Tester qu'une variables est une puissance de x
    Bonjour,

    je cherche a faire un petit test sur une variable, m'assurer que c'est bien une puissance d'une certaine valeur et de plus que cette valeur appartient a un intervalle de puissance

    de x^2 a x^10 par exemple.

    En faisant une methode qui prend chaque valeur et compare, du style
    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
    enum
    {
        STATUS_OK = 1,
        STATUS_ERR = 0
    }
    const int isPowerOf(int toTest, int powBase, int int_max , int int_min=1)
    {
        int powValue = x;
        while(powValue < int_max)
        {
            if(toTest == powBase) return STATUS_OK;
            powValue = powValue *powBase;
        }
        return STATUS_ERR;
    }
    Ceci est un rapide exemple fait en ligne, soyez indulgent...

    Existe t il une fonction predefinie dans la stl ou il suffit de donner la valeur, et la valeur de base (x) pour x^y pour qu'elle retourne un bool par exemple?

    Merci du coup de pouce

    rikau2

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par d�faut
    Sans tester toutes les possibilit�s tu pourrais faire un truc du style
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    Si ( x^ymin < valeur && valeur > x^ymax && valeur%x == 0)
    {
    OK;
    }
    soit "si ma valeur est comprise entre ma puissance de x mini et ma puissance de x maxi, et que ma valeur est bien une puissance de x alors c'est bon"

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    Citation Envoy� par koopajah
    (...) est bien une puissance de x (...)
    Ca me parait louche �a.

    MAT.

  4. #4
    Expert confirm�
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par d�faut
    rikau2 :
    m'assurer que c'est bien une puissance d'une certaine valeur et de plus que cette valeur appartient a un intervalle de puissance
    Passer par les logarithmes ?!

  5. #5
    Membre chevronn�
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    271
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 271
    Par d�faut
    Pour le retour de ta fonction utilise le type bool (� mon avis)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    bool isPowerOf(int toTest, int powBase, int int_max , int int_min=1) {}

  6. #6
    Membre �prouv�
    Inscrit en
    Mai 2007
    Messages
    157
    D�tails du profil
    Informations personnelles :
    �ge : 43

    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par d�faut
    valeur%x == 0
    En effet ca me parait bizarre a moi aussi car 2%2 = 0, 4%2 =0 6%2 =0 mais 6 n'est pas une puissance de 2...
    Pour le retour de ta fonction utilise le type bool (� mon avis)
    C'est l'architecture g�n�rale de mon projet qui le veut.
    Je cherche a tester que ma valeur est soit 1,2,4,8,16,32,64,128 mais je cherche plus un algo qui me permettrai de r�soudre ce type de probleme de mani�re plus g�n�ralis�e.

    Dans l'attente de r�ponse....

    ps: Je veux a tout prix eviter le if(x== 1 || x==2 || ....

    Cdt

    rikau2

Discussions similaires

  1. Tester si le contenu d'une variable est en majuscule
    Par diombo dans le forum VBA Access
    R�ponses: 8
    Dernier message: 16/01/2019, 15h45
  2. [D�butant] Affecter une variable d'une classe C# � une variable Javascript
    Par SultanGeek dans le forum C#
    R�ponses: 0
    Dernier message: 20/06/2015, 20h42
  3. Tester si une variable est une lambda fonction
    Par rambc dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 15/11/2009, 18h52
  4. R�ponses: 3
    Dernier message: 25/10/2007, 10h25
  5. R�ponses: 2
    Dernier message: 10/06/2006, 17h13

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