π
<-

Des chiffres!! :D

Pour le TI-Basic sur Nspire

Re: Des chiffres!! :D

Unread postby Excale » 02 May 2012, 16:45

Effectivement c'est un peu plus clair, je regarde comment c'est fait :).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: Des chiffres!! :D

Unread postby Bisam » 03 May 2012, 15:56

J'ai finalement écrit un algo directement sur Nspire... et ça fonctionne pas mal, sans être trop lent.
Si on lui demande de renvoyer la première solution trouvée, cela lui prend en général moins de 5 secondes... mais jusqu'à 1min30 s'il n'y a pas de solution et autant si on lui demande TOUTES les solutions (qui bien souvent se répètent une multitude de fois dans un ordre différent).

Je vous tape ce que j'ai fait (je n'ai pas de quoi transférer le .tns ici... et c'est pédagogique également)
Code: Select all
{"*","+","-","/"}->op

Define cherche_1(total, nombres)
Func
cherche(total, nombres,{ },false)
Endfunc

Define cherche_tout(total, nombres)
Func
cherche(total,nombres,{ },true)
Endfunc

Define cherche(total, nombres, etapes, all)
Func
Local n,i,j,k,l,p,n1,n2,tmp,st,calc,trouve
dim(nombres)->n
false->trouve
For i,1,n
  If nombres[i]=total Then
    Disp etapes
    Return true
  EndIf
EndFor
1->i
While i<=n and when(all, true, not trouve)
  i+1->j
  While j<=n and when(all, true, not trouve)
    max(nombres[i],nombres[j])->n1
    min(nombres[i],nombres[j])->n2
    If n2=1 then
      2->k
      3->p
    Else
      1->k
      4->p
    EndIf
    While k<=p and when(all, true, not trouve)
      string(n1)&op[k]&string(n2)->st
      expr(st)->calc
      If calc<>0 and mod(calc,1)=0 Then
         left(nombres,j-1)->tmp
         calc->nombres[i]
         cherche(total,augment(tmp,mid(nombres,j+1),augment(etapes,{st&"="&string(calc)}))->trouve
      EndIf
      k+1->k
    EndWhile
    j+1->j
  EndWhile
  i+1->i
EndWhile
Return trouve
EndFunc
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Previous

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
857 utilisateurs:
>772 invités
>79 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)