Et oui, grand débutant des algorithmes, je me permets de demander encore de l'aide. Seulement cette fois-ci, j'ai fait quelque chose (qui ne marche pas bien entendu ) et donc je cherche une solution pour décomposer un nombre en facteurs premiers.
J'ai essayé de faire des tests de divisions successives par des nombres premiers, et d'ajouter ces nombres, s'ils sont des diviseurs du nombre à décomposer, dans une liste, pour à la fin demander d'afficher la liste. Mais la calculette ne dispose pas de la fonction isprime(x), et j'ai besoin de cette fonction, sans quoi l'algorithme devient tellement long que je n'y comprend plus rien.
Merci de vos suggestions.
Le langage est ti-basic, c'est pour une calculatrice graphique texas instrument. Et je précise aussi que je ne connais que le ti-basic, aucun autre langage de programmation...^^ donc merci mais je ne comprends pas grand chose au Visual Basic.
Merci encore
Shrike
Est-ce que quelqu'un peut me confirmer ça. Je me sers ici du théorème de Wilson. Le test à la calculatrice ne fonctionne pas, car celle-ci arrondie les valeurs infiniment petites à 0, ce qui me donne des résultats faux. J'ai pu constater ça grâce à maple.
Voici mon algorithme :
L'utilisateur entre un nombre N.
Si ce nombre est premier (test de Wilson), on affiche simplement le nombre, car il est sa propre décomposition.
Si ce n'est pas le cas, on initialise un nombre C. Si ce nombre C est lui aussi premier, ET qu'il divise le nombre N, on affiche C, et on reteste avec C+1. Dans tous les autres cas, on reteste ça avec C+1. (Il faut les deux conditions réunies pour afficher C). Le tout tant que C<N évidemment.
partDec(x) est la partie décimale de x, soit (x-floor(x))
VARIABLES
N EST_DU_TYPE NOMBRE
C EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
SI (partDec(((N-1)!+1)/N=0) ALORS
DEBUT_SI
AFFICHER N
FIN_SI
SINON
DEBUT_SINON
C PREND_LA_VALEUR 2
TANT_QUE (C<N) FAIRE
DEBUT_TANT_QUE
SI (partDec(((C-1)!+1)/C)=0) ALORS
DEBUT_SI
SI (partDec(N/C)=0) ALORS
DEBUT_SI
AFFICHER N
C PREND_LA_VALEUR C+1
FIN_SI
SINON
DEBUT_SINON
C PREND_LA_VALEUR C+1
FIN_SINON
FIN_SI
SINON
DEBUT_SINON
C PREND_LA_VALEUR C+1
FIN_SINON
FIN_TANT_QUE
FIN_SINON
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :