Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
Trouver tous les diviseurs d'un nombre entier [spé maths - TS]
2 participants
Page 1 sur 1
Trouver tous les diviseurs d'un nombre entier [spé maths - TS]
Bonjour tout le monde!
Aujourd'hui je vais vous présenter un programme que j'ai fait et qui peut vous aider en spé maths si vous êtes en terminale S, lorsqu'on fait de l'arithmétique notamment (mais si vous l'utilisez pour autre chose tant mieux ), j'ai nommé: "DIV" (ok ce n'est pas très très original, vous pouvez le nommer comme vous voulez ).
Il vous donne tous les diviseurs (positifs et négatifs) d'un nombre entier non nul (Nb: si le diviseur correspond à la racine carrée de |N| il vous le donne en double, puisqu'il forme un couple de diviseurs avec lui même).
Le tout en seulement113o 82o !!! (et vous pouvez supprimer certaines parties notamment pour la saisie ~sécurisée, qui prend 11o).
Voici le code (Après les // ce sont des commentaires explicatifs):
http://www.mediafire.com/?a6fq7cc7e7lv11r
Et un screenshot:
Voilà, en espérant que ça sera utile à quelques uns!
Aujourd'hui je vais vous présenter un programme que j'ai fait et qui peut vous aider en spé maths si vous êtes en terminale S, lorsqu'on fait de l'arithmétique notamment (mais si vous l'utilisez pour autre chose tant mieux ), j'ai nommé: "DIV" (ok ce n'est pas très très original, vous pouvez le nommer comme vous voulez ).
Il vous donne tous les diviseurs (positifs et négatifs) d'un nombre entier non nul (Nb: si le diviseur correspond à la racine carrée de |N| il vous le donne en double, puisqu'il forme un couple de diviseurs avec lui même).
Le tout en seulement
Voici le code (Après les // ce sont des commentaires explicatifs):
- Code:
Repeat Nnot(fPart(N //On attend un entier non nul //fPart = PartDéc sur une fr // not() = non()
Prompt N
End
{1->L1
For(A,2,sqrt(abs(N //sqrt = fonction racine carrée
//Si A est un diviseur on le sauve.
If not(fPart(N/A
A->L1(1+dim(L1
End
//On retrouve les diviseurs associés à ceux qui ont été trouvés (si 2 divise 36, 36/2=18 divise aussi 36), puisqu'on s'est arrêté à la racine de N
augment(L1,N/L1 //augment() = chaîne()
//On gère les opposés
augment(-Rép,Rép->L1
SortA(L1 //On trie les résultats //sortA() = triCroi()
L1 //On les affiche (en fin de prgm ça permet un défilement, donc si vous voulez mettez Pause mais pas de Disp)
http://www.mediafire.com/?a6fq7cc7e7lv11r
- Ancien code moins optimisé (EDIT du 26/09/13):
- Code:
Repeat Nnot(fPart(N //On attend un entier non nul
Prompt N
End
abs(N->N
DelVar IDelVar L1For(A,1,sqrt(N //sqrt = fonction racine carrée
//Si A est un diviseur on le sauve, avec le diviseur qui lui est associé (par exemple si N = 8 et A = 2, on sauve 2 et 8/2 = 4, pour plus d'efficacité).
If not(fPart(N/A
Then
I+2->I
A->L1(I-1
N/A->L1(I
End
End
//Le bloc qui suit permet de donner les opposés des diviseurs
2I->dim(L1
-L1->L2
SortD(L2
L1+L2->L1
SortA(L1 //On trie les résultats
L1 //On affiche les résultats (en fin de prgm ça permet un défilement, donc si vous voulez mettez Pause mais pas de Disp)
http://www.mediafire.com/?cv7z03nexgh03t5
Et un screenshot:
Voilà, en espérant que ça sera utile à quelques uns!
Dernière édition par m@thieu41 le Jeu 26 Sep 2013 - 18:22, édité 7 fois
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Trouver tous les diviseurs d'un nombre entier [spé maths - TS]
En voyant la fonction de ton programme j'ai essayé d'en faire un plus léger (sans regarder la tiens) mais j'ai échoué... Bon boulot! (remarque je m'en tape un peu moi je suis en spé info)
Re: Trouver tous les diviseurs d'un nombre entier [spé maths - TS]
Merci !
Ta remarque m'a donné envie d'essayer de l'optimiser encore plus, j'édite avec encore plus d'optimisations, pour un total de 82o (saisie "sécurisée" d'un nombre entier comprise)
Ta remarque m'a donné envie d'essayer de l'optimiser encore plus, j'édite avec encore plus d'optimisations, pour un total de 82o (saisie "sécurisée" d'un nombre entier comprise)
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Trouver tous les diviseurs d'un nombre entier [spé maths - TS]
Quatre... Quatre-vingt... QUATRE-VINGT DEUX OCTETS!!!!!!!
(pour la peine je plussoie)
(pour la peine je plussoie)
Sujets similaires
» Regroupement de Programmes de Maths
» Regroupement de Programmes de Maths 2
» Problème de maths à contre-sens
» Mettre un certain nombre d'Input
» Recherche de nombre premier
» Regroupement de Programmes de Maths 2
» Problème de maths à contre-sens
» Mettre un certain nombre d'Input
» Recherche de nombre premier
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++