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.
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.
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.
Si les cons volaient, il ferait nuit à midi.
ok, merci.
vous maîtrisez algorithme?
c’était un sujet d’examen , je veux connaitre la solution ..
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 ?
-- Yankel Scialom
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.
Cordialement.
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 :
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 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Saisir N; p = ln(N)/ln(2); S = 2^(p+1)-1; Afficher S;
Bon courage
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:
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Saisir N; S=(2N)-1; Afficher S;
Cordialement.
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
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...
Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager