Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 9 sur 9
  1. #1

    Inscrit en
    janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 14
    Points : -5
    Points
    -5

    Par défaut Somme de nombres

    Bonjour,

    SVP, Est ce qu'il y a quelqu'un qui maîtrise l'algorithme? pour m'aider à trouver une solution à cet exercice:

    Écrire l'algorithme qui fait la somme des nombres suivants:

    s=1+2+4+8+....+N

    Merci d'avance.

  2. #2
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 554
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 554
    Points : 4 068
    Points
    4 068

    Par défaut

    Qia,

    La réponse est dans la question.

    De plus, personne n'est ici pour faire tes exercices à ta place, donc montre-nous ce que tu as déjà fait, et explique-nous ce qui te bloque.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  3. #3

    Inscrit en
    janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 14
    Points : -5
    Points
    -5

    Par défaut

    ok, merci.
    vous maîtrisez algorithme?
    c’était un sujet d’examen , je veux connaitre la solution ..

  4. #4
    Membre Expert Avatar de prgasp77
    Homme Profil pro Yankel Scialom
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Nom : Homme Yankel Scialom
    Âge : 27
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 083
    Points : 1 388
    Points
    1 388

    Par défaut

    Bonjour farized,
    merci de tenir compte de ce qu'a dit droggo ; il s'agit là de la « philosophie » de developpez.com.

    Pour t'aider,
    • lorsque l'on parle de la discipline, on parle « d'algorithmie » ; lorsque l'on parle d'un cas particulier, alors là on parle d'algorithme ;
    • faire la somme des premiers éléments d'une suite est souvent un problème proposant une solution algébrique plutôt qu'une solution algorithmique ;
    • ici, j'imagine que tu cherches à calculer ; tes cours de mathématiques du lycée devraient te venir en aide (ou google « somme des premiers éléments d'une suite géométrique »).


    Si malgré tout, pour l'exercice, tu devais résoudre le problème en proposant un algorithme ... quels sont les outils dont tu disposes ? Une boucle peut-être ?

  5. #5
    Expert Confirmé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    1 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2012
    Messages : 1 073
    Points : 2 647
    Points
    2 647

    Par défaut

    Bonjour,

    Cette question me rappel une anecdote concernant Carl Friedrich Gauss qui enfant (7 ans je crois) avait résolu un problème similaire:
    1+2+3+4+...+100=?
    Tandis que les autres élèves faisaient les différentes sommes, Gauss écrivit le résultat presque instantanément en trouvant et utilisant la formule:
    1+2+3+...+n=n(n+1)/2

    Après l'anecdote, pour le problème:
    1+2+4+8+...+N=(2*N)-1

    semble fonctionner.

    Cordialement.

  6. #6
    Membre habitué Avatar de sologne
    Homme Profil pro
    Chargé de missions
    Inscrit en
    mai 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Service public

    Informations forums :
    Inscription : mai 2011
    Messages : 67
    Points : 108
    Points
    108

    Par défaut

    Bonjour,

    il s'agit en effet de la somme des termes d'une suite géométrique.
    Somme(q^k,k=0,k=p) = (1-q^(p+1))/(1-q)
    dans ton cas :
    1+2+4+8+....+N = Somme(2^k,k=0,k=p) = (1-2^(p+1))/(1-2) = 2^(p+1)-1

    Donc si tu imagines une toute petite interactivité avec l'utilisateur, du style : "Entrez le N" et tu retournes la somme, la seule difficulté est de lier le N au p.

    Pour cela on pose :

    N=2^p <=>
    ln(N) = ln(2^p) = pln(2) <=>
    p = ln(N)/ln(2)

    Si N est bien une puissance de 2 alors p sera un entier à coup sûr.

    Ensuite tu n'as plus qu'à appliquer la formule de calcul .

    Concrètement et sans contrôle de cohérence sur la saisie utilisateur :

    Code :
    1
    2
    3
    4
    5
    Saisir N;
    p = ln(N)/ln(2);
    S = 2^(p+1)-1;
    Afficher S;
    Il s'agit seulement du cœur le l'algo, ensuite il faut affiner, déclarer les variables, leur type, placer un petit controle de cohérence sur la saisie utilisateur, etc ...

    Bon courage

  7. #7
    Expert Confirmé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    1 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2012
    Messages : 1 073
    Points : 2 647
    Points
    2 647

    Par défaut

    On peut se passer de chercher p en utilisant la formule que je donne précédemment (sauf si elle fausse ):
    1+2+4+8...+N=(2*N)-1 (forme plus informatique, mathématiquement, on l'écrirait 2N-1)
    Ce qui donne comme algo:
    Code :
    1
    2
    3
    Saisir N;
    S=(2N)-1;
    Afficher S;
    Cordialement.

  8. #8
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 081
    Points
    15 081

    Par défaut

    Citation Envoyé par disedorgue Voir le message
    On peut se passer de chercher p en utilisant la formule que je donne précédemment (sauf si elle fausse )
    Elle n'est pas fausse. Un petit passage en binaire rend la chose plus visuelle

    1+2+4+8 = 15 = 16-1

      00001 (1)
    + 00010 (2)
    + 00100 (4) 
    + 01000 (8)
    -------
    = 01111 (15)
    
    = 10000 (16) - 1
    
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Expert Confirmé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    1 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2012
    Messages : 1 073
    Points : 2 647
    Points
    2 647

    Par défaut

    On peut même généraliser sur les suites du même type:
    Par exemple, si on considère la suite suivante:
    1+A(2^0)+A(2^1)+A(2^2)+A(2^3)...+A(2^P)=2(A(2^P))-(A-1)

    En remplaçant A par 2 et A(2^P) par N, on aurait:
    1+2(1)+2(2)+2(4)+2(8)...+N=1+2+4+8+16...+N=2(N)-(2-1)=(2*N)-1

    En remplaçant A par 3 et A(2^P) par N, on aurait:
    1+3(1)+3(2)+3(4)+3(8)...+N=1+3+6+12+24...+N=2(N)-(3-1)=(2*N)-2

    Etc...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •