Merci pour le lien vers la vidéo qui explique tout ça très bien !
Oui, le petit programme en BASIC part d'une position (M,N) avec M>N et calcule C tel que l'on arrive à une nouvelle position (M,N) gagnante car il existe un entier n tel que M=[nφ] et N=[nφ²]. Mis à part un petit bug à corriger, sinon cela ne marche pas.
Voici une version pour Ti-58c qui fait de même:
Code : Tout sélectionner
000 43 01 RCL 01 026 76 35 LBL 1/x 055 76 34 Lbl √x 074 76 15 LBL E 098 76 95 Lbl =
002 32 x:t 028 43 01 RCL 01 057 43 03 RCL 03 076 22 58 INV Fix 100 43 02 RCL 02
003 43 02 RCL 02 030 85 + 059 55 ÷ 078 22 44 02 SUB 02 102 32 x:t
005 75 - 031 01 93 05 1.5 060 43 00 RCL 00 081 66 66 Pse Pse 103 43 01 RCL 01
006 43 01 RCL 01 034 95 = 062 95 = 083 32 x:t 105 22 77 93 x<t? →.
008 95 = 035 55 ÷ 063 76 33 Lbl x² 084 22 44 01 SUB 01 108 48 02 Exc 02
009 65 × 036 43 00 RCL 00 065 59 Intg 087 66 66 Pse Pse 110 42 01 STO 01
010 43 00 RCL 00 038 95 = 066 85 + 089 67 95 x=t? →= 111 76 93 Lbl .
012 95 = 039 42 03 STO 03 067 43 02 RCL 02 091 65 × 114 29 C.t
013 59 Intg 041 59 Intg 069 75 - 092 32 x:t 115 58 02 Fix 2
014 77 35 x≥t? →1/x 042 65 × 070 43 01 RCL 01 093 95 = 117 43 01 RCL 01
016 32 x:t 043 43 00 RCL 00 072 95 = 094 29 C.t 119 85 +
017 75 - 045 95 = 073 29 C.t 095 22 67 10 x≠t?→"Err"120 43 02 RCL 02
018 32 x:t 046 59 Intg 122 55 ÷
019 95 = 047 22 67 34 x≠t? →√x 123 02 2
020 85 + 050 43 03 RCL 03 124 22 28 10^x
021 32 x:t 052 94 +/- 126 95 =
022 00 0 053 61 33 GTO x² 127 67 10 x=t?→"0.00"
023 95 = 129 92 INV SBR
Mémoriser phi dans le registre R00:
( 1 + 5 √x ) ÷ 2 = STO 00
Mémoriser le nombre d'allumettes dans les tas 1 et 2 :
n1 STO 01
n2 STO 02
idéalement n1 et n2 deux nombres aléatoires jusqu'à 99
Puis afficher la situation : SBR = Ce qui aura pour effet corolaire de trier les valeurs afin que R2 > R1, ce qui simplifie le traitement automatique des coups. La situation s'affiche sous la forme nn.mm où nn et mm sont respectivement les nombres d'allumettes dans les tas 1 et 2.
Pour jouer, entrer le nombre d'allumettes retirées du premier tas ou zéro , presser [ x:t ] , saisir zéro ou le nombre retiré du second tas et presser [ E ]. La Ti-58 affiche la nouvelle situation ou clignote en cas d'erreur.
Pour faire jouer la Ti-58c, presser [ RST ] [R/S]. Le nombre d'allumettes retirées des tas 1 et 2 sont affichés brièvement. Puis la nouvelle situation est affichée. En cas de victoire l'affichage " 0.00 " clignote.
La machine ne peut jouer contre elle-même, si on la fait jouer deux fois de suite, son second coup sera 0 x:t 0 .
Je laisse le soin à Andromede de convertir ce code en une version pour Ti-62 Galaxy.
Et à Eric celui de faire en Python. Oupss ! Déjà fait