Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1616
Réponses : 14
Type : discussion
Etat : réponses autorisées

Trouve le nombre (ULTRA COMPACT !)

hellknight71 le 17/12/2015 à 14:31
Salut à tous bigmouth.gif
Ceci est un tout pitipitit programme dont le but est de trouver un nombre entre 1 et 1000. (140 octets)
Bref le voici :


Code

:EffEcr                                      // EffEcr ou ClrHome selon votre ti
:Disp "TROUVE UN NOMBRE","ENTRE 1 ET 1000
:0->V
:entAléat(1,1000->A
:While V=0
:Input "=",N
:If N<A:Disp "C'EST PLUS
:If N>A:Disp "C'EST MOINS
:If N=A:Disp "BRAVO !":1->V
:End


Je ne pense pas qu'on puisse faire plus court. godgrace.gif
Précisez moi si quelque chose ne va pas.

.
Ruadh le 17/12/2015 à 16:58
Bonjour !
Ton programme ne fonctionne pas et on peut faire beaucoup plus court. Je te laisse chercher bigmouth.gif
hellknight71 le 17/12/2015 à 18:00
Tu l'as vraiment testé ? ahh.gif
hellknight71 le 17/12/2015 à 19:06
Excuse moi j'ai mal formulé effectivement crazy.gif crazy.gif crazy.gif
Mais je veux bien connaître ton programme car je ne sais pas comment faire encore plus court ahh.gif
Ruadh le 17/12/2015 à 21:14
T'as vraiment essayé ton programme ? Comme je l'ai dit plus haut, il ne fonctionne pas.
C'est cette ligne là qui pose problème :

Code
:If N=A:Disp "BRAVO !":1->V


V prendra la valeur 1 que N soit égal à A ou non, donc ton programme s'arrêtera après une seule itération.

Voilà ton programme optimisé (105 octets) :

Code
:EffEcr
:Disp "TROUVE UN NOMBRE","ENTRE 1 ET 1000
:entAléat(1,E3     //Le E obtenu par 2nde+,
:Repeat Rép=N
:Prompt N
:If N>Rép
:Disp "C'EST MOINS
:If N<Rép
:Disp "C'EST PLUS
:End
:"BRAVO
hellknight71 le 18/12/2015 à 10:05
Oui je l'ai testé et effectivement j'ai mal tapé le programme. crazy.gif

En tout cas merci pour le programme de 105 octets, je ne savais pas qu'on pouvait faire aussi court.
Merci pour l'astuce car je ne savais pas utiliser le Rep. minied.gif
hellknight71 le 11/02/2016 à 08:33
Slt je viens d'en trouver un de 87 octets bigmouth.gif bigmouth.gif en cherchant un peu... rollall.gif

prgmTrouve
Code

:Disp "1/1000
:entAléat(1,1000->N
:While A#N
:Prompt A
:If A>N:Disp "MOINS
:If A<N:Disp "PLUS
:If A=N:Then:Disp "BRAVO":End
:End
Ti82-Lexilus le 11/02/2016 à 09:00
Ey on peut faire encore mieux !!! godgrace.gif bigmouth.gif
Code


Effecr
Disp "1/e3
EntAleat(1,e3 ~>B
While B=/=A
Prompt B
If A<B
Pause "-"
If A>B
Pause "+"
End
"Bravo"






hellknight71 le 11/02/2016 à 14:45
Heuuu... Pour moi il marche pas. crazy.gif
Le nombre est tout le temps 0
Ti82-Lexilus le 11/02/2016 à 16:10
Salut
le "e" s obtient en appuyant les touches suivantes :
[2nd] + ,

Il signifie x 10 ^ ( n )
hellknight71 le 12/02/2016 à 08:31
rollineyes.gif Ok mais alors il faudrait mettre 1e3 cupsmiley.gif
Mingerton le 13/02/2016 à 13:31
Le 1 est inutile, ca serait comme écrire 1*1000 winkle.gif
Ti82-Lexilus le 13/02/2016 à 21:50
Oui car e signifie 10 ^ ( n )
hellknight71 le 03/04/2016 à 15:01
Je viens d'en trouver un de 68 octets. bigmouth.gif bigmouth.gif bigmouth.gif
Le voici:
Code

:entAléat(1,e3->N
:While 1
:Prompt A
:If A>N:Disp "-
:If A<N:Disp "+
:If A=N:Then:Disp "BRAVO
:Stop
:End
:End

Cette fois ci, je pense que c'est le jeu le plus léger qu'on puisse faire sur TI. bigmouth.gif
Ruadh le 03/04/2016 à 16:57
À force de chercher, tu finiras bien par trouver happy.gif J'arrive à économiser 12 octets en utilisant le même algorithme que celui que j'ai posté plus haut et en utilisant les mêmes textes que toi happy.gif