Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

déterminer si un nombre est premier ou non

Posté par
frdi90
20-06-10 à 19:02

Bonsoir à tous,

J'aimerais écrire une procédure sur maple qui me permettrait de déterminer si un nombre est premier ou non, en renvoyant "premier" s'il l'est et la liste de ses diviseurs s'il ne l'est pas.
Pour l'instant, tout ce que j'ai réussi à faire c'est afficher le plus petit de ses diviseurs et ne rien afficher s'il est premier.
voici ma procédure :

np := proc (p)
local r, i;
r := floor(sqrt(p));
for i from 2 to r
do if p/i-floor(p/i) = 0 then return i
end if
end do
end proc

merci pour votre aide !

Edit jamo : forum modifié.

Posté par
vinz62
re : déterminer si un nombre est premier ou non 20-06-10 à 19:10

essai de stoker les valeurs i dans une pile au lieu de les retourner
ensuite tu refais un test et tu retournes la pile si elle est non vide et "premier" sinon

Posté par
frdi90
re : déterminer si un nombre est premier ou non 20-06-10 à 19:10

et comment est-ce que je crée une pile ?

Posté par
vinz62
re : déterminer si un nombre est premier ou non 20-06-10 à 19:27

ça par contre je ne sais pas je ne connais pas vraiment le langage mais ça doit déja exister comme objet tout fait

Posté par
vinz62
re : déterminer si un nombre est premier ou non 20-06-10 à 19:31

autre solution
tu construits une chaine de caractere
quand une valeur i convient tu concatene "i "
et à la fin tu la retournes si elle est non vide et "premier" sinon

Posté par
vinz62
re : déterminer si un nombre est premier ou non 20-06-10 à 19:33

en gros ne retournes pas les valeurs i au fur et à mesure
stoc les et retourne le tout à la fin dans un test avec un else "premier"



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !