π
<-

diviseur de nombre...

diviseur de nombre...

Messagede nikitouzz » 01 Oct 2012, 21:33

voila j'ai fait un algo qui permet de trouver tout les diviseur commun d'un nombre j'aimerai savoir si il y a plus optimiser e mien fait 328octet... c'est peut etre un peu beaucoup... si vous avez des suggestions sa serait simpas merci :)



(je ne peut pas mettre mon code pour le moment )
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
Avatar de l’utilisateur
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.7%
 
Messages: 1016
Images: 1
Inscription: 16 Fév 2012, 18:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Fac de maths

Re: diviseur de nombre...

Messagede Bisam » 02 Oct 2012, 10:51

Je n'ai pas programmé sur z80 depuis longtemps, mais on doit pouvoir faire comme ça :
Code: Tout sélectionner
Prompt N
1->L1(1
For(i,2,N
If not(mod(N,i
i->L1(1+dim(L1
End
Disp L1


Je pense que le code ci-dessus fait moins de 100 octets.
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: diviseur de nombre...

Messagede Adriweb » 02 Oct 2012, 10:54

Si mes souvenirs sont bons, ya une fonction directmenet pour ajouter un élément à une liste non ? :D
( au lieu de i->L1(1+dim(L1 ) (genre augment( ?)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.2%
 
Messages: 14888
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: diviseur de nombre...

Messagede Bisam » 02 Oct 2012, 10:57

C'est vrai sur 68k mais je ne suis pas sûr sur z80.
Et puis de toute façon, c'est tout aussi long :
Code: Tout sélectionner
augment(L1,{i->L1
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: diviseur de nombre...

Messagede nikitouzz » 02 Oct 2012, 16:26

petite precision ^^ justement je suis obliger d'utiliser la fonctions ipart et enfaite je recherche un code qui ne fait pas tout les nombre entre 2 et N car pour des nombres de plus de 1000 c'est lent...
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
Avatar de l’utilisateur
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.7%
 
Messages: 1016
Images: 1
Inscription: 16 Fév 2012, 18:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Fac de maths

Re: diviseur de nombre...

Messagede Lionel Debroux » 02 Oct 2012, 18:24

C'est typiquement le genre de choses qu'il vaut beaucoup mieux faire en code natif qu'en langage de plus haut niveau - surtout avec le lent BASIC de TI ;)
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: diviseur de nombre...

Messagede nikitouzz » 02 Oct 2012, 20:11

oui je sais le faire en axe, cependant on me le demande en TI-Basic ^^
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
Avatar de l’utilisateur
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.7%
 
Messages: 1016
Images: 1
Inscription: 16 Fév 2012, 18:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Fac de maths

Re: diviseur de nombre...

Messagede Bisam » 03 Oct 2012, 10:24

Si tu ne veux pas faire tous les nombres de 2 à N, il faut t'arrêter à la racine carrée de N...
Comme tu parlais d'optimisation en espace, je n'ai pas cherché à optimiser en temps d'exécution !!
Voici une nouvelle version :
Code: Tout sélectionner
Prompt N
ipart(sqrt(N->P
1->L1(1
N->L2(1
1->K
For(i,2,P
If N=i*ipart(N/i
Then
K+1->K
i->L1(K
N/i->L2(K
End
P^2=N->A
For(i,1,K-A
L2(K-i+not(A->L1(K+i
End
Disp L1
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: diviseur de nombre...

Messagede nikitouzz » 03 Oct 2012, 12:45

merci beaucoup sa marche :)

c'est a peu pres le code que j'avais :)
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes

megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

Image
Avatar de l’utilisateur
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.7%
 
Messages: 1016
Images: 1
Inscription: 16 Fév 2012, 18:39
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Fac de maths

Re: diviseur de nombre...

Messagede Hayleia » 06 Oct 2012, 18:04

nikitouzz a écrit:les diviseur commun d'un nombre

C'est quoi les diviseurs communs d'un seul nombre ? :P
Les diviseurs communs de deux nombres je connais mais pas les diviseurs communs d'un seul :P

Bref, plus sérieusement, si tu veux gagner un peu de vitesse d'exécution, tu peux aussi tester avant la boucle si le nombre est pair et s'il est impair, la boucle n'a plus qu'à tester les nombres impairs donc tu peux la faire aller deux fois plus vite ;)

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


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 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.
2022 utilisateurs:
>1988 invités
>27 membres
>7 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)