Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Trouve le nombre (ULTRA COMPACT !)
hellknight71 le 17/12/2015 à 14:31
Salut à tous
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.

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

hellknight71 le 17/12/2015 à 18:00
Tu l'as vraiment testé ?

hellknight71 le 17/12/2015 à 19:06
Excuse moi j'ai mal formulé effectivement

Mais je veux bien connaître ton programme car je ne sais pas comment faire encore plus court

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.
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.

hellknight71 le 11/02/2016 à 08:33
Slt je viens d'en trouver un de 87 octets

en cherchant un peu...
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 !!!
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.
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

Ok mais alors il faudrait mettre 1e3

Mingerton le 13/02/2016 à 13:31
Le 1 est inutile, ca serait comme écrire 1*1000

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.

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.

Ruadh le 03/04/2016 à 16:57
À force de chercher, tu finiras bien par trouver

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

Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.