π
<-

Calcul de factorielle, avec les chiffres significatifs

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude grosged » 07 Mar 2014, 20:38

Je suis d'accord avec le fait qu'utiliser des valeurs précalculées, dans un concours , c'est risqué ! ça peut même parfois jouer en notre défaveur...(c'est d'ailleurs pour ça que j'ai pas osé en utiliser pour "la suite du geek")
A propos de l'algo, si j'ai une autre idée "flash", j'en jèterai un mot ! ;)

oui l'idée de max()... ou alors un nettoyage d'office de L1 "tous les 6 passages" (puisque un terme l1(x)<10 peut faire 6 multiplications d'affilée sans risque de dépassement, si l'on s'en tient à la limite imposée de 135!)
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 32.5%
 
Messages: 776
Images: 92
Inscription: 14 Sep 2011, 12:29
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude Bisam » 09 Mar 2014, 07:56

Je n'ai pas la 83+ (de Nikitouzz) sur moi ce matin, mais j'ai fait un petit code aussi qui ressemble à ceci (je le refais de mémoire, je le corrigerai plus tard...) :
Code: Tout sélectionner
Prompt N
1->L1(1
For I,2,N
  Delvar R
  For J,1,dim(L1
    R+I L1(J->L1(J
    ipart(Ans10^(-9->R
    L1(J)-R 10^(9->L1(J
  End
  If R
    R->L1(1+dim(L1
End
dim(L1->D
9D->dim(L2
For I,D,1,-1
  For J,8,0,-1
    ipart(L1(I)10^(-J
    Ans->L2(9-J+9(D-I
    L1(I)-Ans 10^(J->L1(I
  End
End
Pause L2
Delvar D Delvar I Delvar J Delvar N Delvar R Delvar L1 Delvar L2

Il y a des 0 non significatifs au début du résultat affiché... mais je ne pense pas que ce soit pénalisant.
J'ai été obligé de rajouter la liste L2 sinon, même en remettant les morceaux de L1 dans le bon ordre, on peut perdre des 0 au début des nombres qui sont dans la liste L1.
Le principe est de découper le calcul en tranches de 9 chiffres (on peut faire plus... mais on ne gagne pas grand chose en temps, et on perd en place !) La partie la plus longue en place est l'affichage final !
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5670
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude Lionel Debroux » 09 Mar 2014, 08:49

En effet, pas de table de valeurs précalculées pour la suite du geek :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.4%
 
Messages: 6875
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude grosged » 15 Mar 2014, 18:56

Bonsoir !
Voici ma version du sujet =D
Pour optimiser, je me suis dit de calculer par à-coup (paquets de 6), et aussi
de déchiffrer/ajuster les résultats intermédiaires en plaçant les chiffres
"de gauche à droite" (donc à partir de L1(1...)
(c'est pour cette raison que le résultat final doit être affiché depuis le dernier élement
de L1 vers le premier)
à noter que ce n'est qu'à partir de 12! que l'on aura un affichage "1chiffre/élement"
L'avantage de tout ça ? ça calcule ,par exemple, 135! en 86 secondes sur ma TI-83 (6mhz)

Edit: au delà de 135! ça risque fortement de bugger...


Code: Tout sélectionner
ClrAllLists                                    ;efface toutes les listes
Prompt N                                       ;demande N
N-6iPart(N/6-1→A                               ;on va traiter par paquets de 6
Ans!→L1(1                                      ;maintenant qu'on a (x-1)! dans L1,
For(X,A+1,N-5,6                                ;par ''paquets de six", on
      L1X(X+1)(X+2)(X+3)(X+4)(X+5→L1           ;multiplie L1 par x(x+1)(x+2)(x+2)(x+3)(x+4)(x+5
      Delvar Z                                 ; initialise et
      For(Y,1,dim(L1                           ; lance la transformation "un chiffre par élement"
            .1(iPart(Z)+L1(Y→Z                 ; on ne garde que les unités
            10fPart(Ans→L1(Y                   ; et ajoute le restant (partie entière/10)
      End                                      ;   à l'élément voisin, etc...
      While int(Z                              ; on est arrivé au bout de L1
            .1iPart(Z→Z                        ; mais c'est pas fini : on continue d'étaler
            10fPart(Ans→L1(Y                   ; "chiffre après chiffre" sur L1
            Y+1→Y                              ; et ce, jusqu'à ce qu'il ne reste que des unités
      End                                      ; fin de boucle
End                                            ; fin de boucle
seq(L1(X),X,dim(L1),1,-1                       ; affiche le résultat "en miroir"


élaboré sur TI-83, 160 octets (172 après transfert)
Dernière édition par grosged le 15 Mar 2014, 19:21, édité 3 fois.
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 32.5%
 
Messages: 776
Images: 92
Inscription: 14 Sep 2011, 12:29
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude pierrotdu18 » 15 Mar 2014, 18:59

Moi je vous ai battu sur Nspire, avec ma fonction ' ! ' :troll:
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude grosged » 15 Mar 2014, 19:06

:D HAhaha! :D
... avec affichage de tous les chiffres significatifs?
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 32.5%
 
Messages: 776
Images: 92
Inscription: 14 Sep 2011, 12:29
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude pierrotdu18 » 15 Mar 2014, 19:06

Tous :p
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude grosged » 15 Mar 2014, 19:09

...mais sur Nspire ;)
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 32.5%
 
Messages: 776
Images: 92
Inscription: 14 Sep 2011, 12:29
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude pierrotdu18 » 15 Mar 2014, 19:15

Oui puis c'est pas moi qui l'ai faite la fonction, elle est déjà intégrée :p
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Calcul de factorielle, avec les chiffres significatifs

Message non lude Hayleia » 15 Mar 2014, 19:33

Elle est aussi déjà intégrée sur z80, mais le but était d'avoir le plus grand nombre de chiffres significatifs.

Image
ImageImageImage
Pokemon Topaze (Axe) discussion and download links here
(19:29:36) noelnadal: plus sérieusemen​t, j'ai très peu de problèmes
(22:45:44) Clifward: J'aime rire du malheur des autres :troll:

(2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!!
(2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked).
(2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked.
(2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat.
(2017.11.18 - 17:07:28) Fireworks: <3
(2017.11.18 - 17:07:31) Fireworks: 208
Avatar de l’utilisateur
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 43.8%
 
Messages: 2509
Images: 2
Inscription: 30 Aoû 2011, 08:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Templar

PrécédenteSuivante

Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
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 !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
4794 utilisateurs:
>4775 invités
>10 membres
>9 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)