Poster un nouveau sujet Poster une réponse
Addition nombre impair consécutif
Auteur Message
Lineal
Invité
Posté le : Mar 23 Avr 2013, 21:58   Citer 

Bonjour !
Je fais appel à votre aide parceque je seche sur un problème paraissant pourtant simple : addition des nombres impair consécutif entre 0 et 119786.
J'ai essayer plusieurs fois mais sa me donne tout le temps '0'
Voici le bout de code que j'ai fait :

Code
For(N,0,119786)
If ent(N/2) ‡ ent((N/2)*2)
Then
K+N->K
End
Disp K



En esperant que vous pouvez m'aider

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 23 Avr 2013, 23:04   Citer 

Il manque un End. Il faut initialiser K.
Le test ent(N/2)=/=ent((N/2)*2) est faux.

Mais on peut optimiser, voir même utiliser la formule mathématique de Gauss donnant la somme d'une suite arithmétique.

Deux tests d'imparité :
ent(N/2)=/=N/2
0=/=partDéc(N/2

Le "0=/=" est facultatif. (c'est la logique booléenne qui génère 0 ou 1 et le If attend zéro comme faux et n'importe quoi d'autre comme vrai)


Code
0->K     // init
For(N,1,119786
If partDéc(N/2
Then    // facultatif en paire avec End
K+N->K
End     // facultatif en paire avec Then
End
Disp K

Remarque importante : le dernier terme étudié sera 119785 puisque les termes sont impairs.
On aura (dernier-premier)/raison+1=(119785-1)/2+1=59893 termes.

Fonction de somme et de suite :
suite(2N-1,N,1,59893)

Formule de Gauss :
S(a,b,u)= (premier_terme+dernier_terme)*nombre_de_terme/2
=(premier_terme+dernier_terme)*((dernier-premier)/raison+1)/2
=(u(a)+u(b))*((u(b)-u(a))/(u(1)-u(0))+1)/2

S(1,119786,2n-1)=S(1,119785,2n-1)=119786*59893/2

Remarque : le calcul de la dernière ligne est toujours affiché

Code
somme(2N-1,N,1,59893


Code
119786*59893/2

EDIT 24/4/13 : grosse correction d'une confusion avec la suite de raison 1

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink