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 :

calcul de puissances


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut calcul de puissances
    Bonjour,

    Comment peut on écrire en c++ ce petit exercice svp ?
    Merci

    Voici l'exercice:
    Si n impair
    S= 1 !/x²+3!/x puissance 3 + ….. + n !/x puissance n
    Si n pair
    S=2 !/x²+4 !/x puissance4+……n !/x puissance n

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Tu n'as sans doute qu'une information manquante: comment savoir si un nombre est pair ou impair. Et, cela, c'est simple: tu regarde s'il est divisible par 2. Et comment tu peux le savoir grâce à ce que l'on appelle le modulo, qui calcule le reste de la division entre deux nombres. En C et en C++, modulo est représenté par le symbole %. si bien que si tu fais un test proche de if(nombre%2 == 0), tu sauras si ton nombre est pair ou impair

    Le reste, c'est à toi de voir comment faire le calcul qui va bien
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    la puissance, c'est facile.
    x puissance n, c'est 1 * x * x * ... avec n multiplication par x.

    Par contre, la factorielle, ca va être plus comique.
    Notamment, parce que par exemple, 20!, c'est 2 432 902 008 176 640 000 soit un peu plus que 2,4 milliards de milliards (ou 2,4 * 10^18)
    C'est aussi a peu pres 2,4 * 2^60. Soit au moins 60 bits. Ca doit rentrer dans un long long (64 bits).
    J'imagine qu'avec 23! on dépasse la représentation possible des entiers sur des ordinateurs (sans passer par des astuces monstrueusement lentes et hors de portée d'un tel exercice)

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Faire le calcul exact, effectivement, ça va vite bloquer. Maintenant, faire le calcul avec des doubles (voire des long double) donnera une valeur approchée pas forcément trop mauvaise. Bonne jusqu'à quel point, c'est une autre question, je ne sais pas trop, et ça dépend probablement très fortement de x. Pour des x positifs, ça devrait plutôt pas trop mal se passer par exemple.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Cela dit, n! / x^n, c'est le produit successif des i/x, pour i entre 1 et n.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 34
    Par défaut
    Bonsoir,
    juste un conseil pour créer une fonction permettant de calculer une factorielle: je pense que tu devrais t'orienter vers une fonction récursive, pour faire simple, une fonction qui dans son code 'interne' s'appelle elle-même.
    Cela devrait peut être te donner un axe de recherche.

    Cordialement.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/09/2010, 09h13
  2. [PHP-JS] Débutant demande aide liste php
    Par bcbgtn dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2007, 11h24
  3. débutante demande aide
    Par youna dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2005, 11h30

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