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

Calcul scientifique Python Discussion :

nombres en python


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut nombres en python
    bonjour, j'aurai aimé avoir de l'aide pour un exercice:

    comment faire marcher un programme qui renvoie si 2013 est la somme de plusieurs nombres impairs consécutifs ?

    merci d'avance pour vos réponses (avec pyzo)

    gloria75

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par gloria75 Voir le message
    comment faire marcher un programme qui renvoie si 2013 est la somme de plusieurs nombres impairs consécutifs ?
    Il faut d'abord écrire (en français) un algorithme qui fabrique ces N nombres impairs consécutifs, en fasse la somme et la compare à 2013. Comme c'est l'ordinateur qui travaille vous pouvez y aller assez bourrin: prendre les nombres impairs < 2013, les découper par tranches de N, en faire la somme, comparer, recommencer avec N+1.
    Après vous pouvez faire travailler vos connaissances en arithmétique et dire que si 2013 s'écrit comme la somme de N nombres impairs consécutifs i.e. existe-t-il un "p", tel que tel que p + p + 2 +.... = 2013 ou N*p = 2013 - 2*N ou (2013 - 2*N) / N = p.
    Après, il faut juste coder çà avec Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    si on veut que n + (n+2) + (n+4) = 2013, on a donc: 3*n+6=2013 et donc n=(2013-6)/3

    En conséquence:
    => 2013 a une solution si (2013-6) est divisible par 3, c'est à dire en Python: (2013-6)%3==0
    => et dans ce cas, les nb impairs cherchés sont n=(2013-6)//3=669, n+2=671 et n+4=673

    Edit: dans les conditions, il faut bien sûr que n soit impair, ce qui est le cas ici avec 2013, et de façon générale quand le nombre de départ sera impair!

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut
    Mais pourquoi a t on n+(n+2) jusqu'à (n+4) ?

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Si X est la somme de 3 nombres impairs consécutifs, alors X = n + (n+2) + (n+4)
    Si X est la somme de 4 nombres impairs consécutifs, alors X = n + (n+2) + (n+4) + (n+6)
    Si X est la somme de 5 nombres impairs consécutifs, alors X = n + (n+2) + (n+4) + (n+6) + (n+8)
    Si X est la somme de p nombres impairs consécutifs, alors X = n + (n+2) + (n+4) + .... + (n+2*(p-1))

    n, c'est le plus petit nombre impair de la somme. Pour avoir les suivants, il suffit d'incrémenter de 2 à chaque fois.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut
    Mais comment transcrire cela en python ?

Discussions similaires

  1. Python décimal avec nombre spécial.
    Par Breizh Entertainment dans le forum Général Python
    Réponses: 4
    Dernier message: 16/01/2014, 14h36
  2. convertir un nombre en Lettre en python
    Par hirondellle dans le forum Général Python
    Réponses: 1
    Dernier message: 09/03/2012, 11h45
  3. Python et les grands nombres
    Par Alpha573 dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 23/01/2011, 11h46
  4. Réponses: 0
    Dernier message: 11/11/2007, 21h31
  5. programme python : conversion nombre en chaine de caracteres
    Par koala_64 dans le forum Général Python
    Réponses: 6
    Dernier message: 02/11/2007, 21h10

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