Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

triplets pythagoriens

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en géométrie
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 15 Jan 2007 15:35    Sujet du message: triplets pythagoriens Répondre en citant

bonjour,

j'ai fait une procédure pour trouver tous les triplets pythagoriens (tels que x^2+y^2-z^2=0) entre 1 et un nombre donné.

seulement ça ne marche pas!
pour la valeur 16 de n j'obtiens pas de solution! :s
pourriez-vous m'aider? merci.

Code:
triplets:=proc(n::nonnegint)

local S,i,x,y,z;



S:=solve(x^2+y^2-z^2);

x:=subs(S,x);

y:=subs(S,y);

z:=subs(S,z);

if type(x,nonnegint) and x<=n and type(y,nonnegint) and y<=n and type(z,nonnegint) and z<=n then

print(`les solutions sont:`,x, y, z);

else

print(`pas de solution`);

end if;

end proc;
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 15 Jan 2007 17:07    Sujet du message: Répondre en citant

Je ne sais pas si c'est une bonne idée d'avoir mis la ligne:
> S:=solve(x^2+y^2-z^2);
car vous ne précisez pas les inconnues recherchées.
Je vous suggère le corrigé suivant:


Code:

n étant un entier >0 donné, écrire une procédure Pythagore( n::posint ) qui affiche tous les triplets [x, y, z] d'entiers pythagoriciens, c'est à dire tels que:
                                     
 x^2+y^2 = z^2 avec  1 <= x     1 <= y et   z <= n

On pourra remarquer que, pour z fixé, avec 
z <= n   on a alors  x <= z et y <= z

> Pythagore:=proc(n::posint)
>   local x,y,z;
> for z to n do
>   for x to z do
>      for y to z do
>        if x^2+y^2=z^2 then print([x,y,z]) end if
>      end do
>   end do     
> end do;   
> end proc:
>   
> Pythagore(16);

                              [3, 4, 5]


                              [4, 3, 5]


                              [6, 8, 10]


                              [8, 6, 10]


                             [5, 12, 13]


                             [12, 5, 13]


                             [9, 12, 15]


                             [12, 9, 15]


Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
leyrassl



Inscrit le: 13 Jan 2007
Messages: 27

MessagePosté le: 16 Jan 2007 12:31    Sujet du message: Répondre en citant

bonjour,
merci beaucoup!
effectivement c'est beaucoup plus clair comme ça,
et ça marche! merci.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
F0rM



Inscrit le: 01 Mai 2006
Messages: 15

MessagePosté le: 02 Fév 2007 20:13    Sujet du message: triplets pythagoriciens Répondre en citant

En réponse a ALS, un triplet pythagoricien est défini par 1 seul nombre pair sur les 3 nombres possibles. Aussi, tous les multiples de (3,4,5) sont rejetés, car ils ne constituent pas un truplet au sens de pythagore ; par contre, j'utilise souvent le triplet (6,8,10) pour le tracer sur une feuille et pour circonscrire des cercles.

Aussi, on doit se débarasser des symétries, (6,8,10) et (8,6,10) c'est le meme triplet en fait !

j'ai donc rajouté

if x^2+y^2 = z^2 AND x<y (symétrie) AND gcd(x,y)=1 (multiples) then print(x,y,z) end
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 03 Fév 2007 13:59    Sujet du message: Répondre en citant

Bonjour, tout dépend de la définition que vous donnez au départ. La mienne est conforme avec celle donnée dans Wikipédia http://fr.wikipedia.org/wiki/Triplet_pythagoricien alors que vous parlez plutôt des triplets pythagoriciens primitifs.
A plus tard.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en géométrie Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.