|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Inscription : janvier 2009 Messages : 14 ![]() |
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. |
|
|
02
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : août 2006 Messages : 3 414 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Inscription : janvier 2009 Messages : 14 ![]() |
ok, merci.
vous maîtrisez algorithme? c’était un sujet d’examen , je veux connaitre la solution .. |
|
|
02
|
|
|
#4 |
|
Membre Expert
![]() Yankel ScialomIngénieur en systèmes embarqués Inscription : juin 2004 Messages : 998 ![]() |
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,
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 ?
__________________
gasp in touch -- Yankel Scialom |
|
|
10
|
|
|
#5 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 385 ![]() |
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. |
|
|
00
|
|
|
#6 | ||
|
Membre habitué
![]() Chargé de missions Inscription : mai 2011 Messages : 66 ![]() |
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 :
Bon courage |
||
|
|
10
|
|
|
#7 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 385 ![]() |
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. |
|
|
00
|
|
|
#8 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
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. |
|
|
20
|
|
|
#9 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 385 ![]() |
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... |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com