[MAPLE] [Arithmétique] Variante du triplet Pythagoricien
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

[MAPLE] [Arithmétique] Variante du triplet Pythagoricien



  1. #1
    invite2ed02f7e

    [MAPLE] [Arithmétique] Variante du triplet Pythagoricien


    ------

    Bonjour. Je débute avec MAPLE que je viens de découvrir cette année.

    Dans le cadre d'un problème d'arithmétique, je cherche à écrire une procédure qui détermine les entiers naturels a tels que a²+(a+1)²=c².

    Je m'explique : on recherche des triangles pseudo-isocèles, c'est-à-dire des triangles rectangles tels que les longueurs soient des entiers et tels que la longueur de l'hypothénuse soit de longueur c, et les côtés de longueurs a et a+1.
    J'ai donc appliqué le théorème de Pythagore (ça c'est du mathématicien !) et trouvé l'équation ci-dessus.

    Après un peu de recherche, j'ai découvert les triplets Pythagoriciens (bien que ceux que je cherche soit un cas particulier de triplets).
    Sachant que le premier triangle pseudo-isocèle est tel que a=3, a+1=4, c=5 (en effet 5²=3²+4²), on me demande de trouver les deux suivants. (Je connais la réponse pour le TPI suivant, normal elle est dans wikipedia, mais pas la démarche pour y arriver...)


    J'ai essayé des procédures faisant appel aux fonctions solve() et floor() (partie entière), mais ça n'a rien donné et je pense qu'utiliser solve() est peut-être un peu réducteur mais bon après tout si ça marche. (D'ailleurs il n'y a pas une fonction dédiée aux équations diophantiennes comme celle-ci?).

    (Sous Xcas, avec solve, il me mettait "canot isolate a" par exemple, et Wolfram Alpha ne me donnait qu'un seul résultat, mais entier relatif : a=-4 ...).
    Je pense qu'il serait possible de faire quelque chose avec la boucle while, mais je n'ai rien fait d'opérationnel.

    Je m'en remets donc à vous et demande votre aide . Merci d'avance.

    -----

  2. #2
    sylvainc2

    Re : [MAPLE] [Arithmétique] Variante du triplet Pythagoricien

    Tu peux faire une procédure comme ceci:

    pyth:=proc()

    local a, c;

    for a from 3 to 1000 do
    c := sqrt(a^2+(a+1)^2);
    if frac(c)=0 then
    print(a);
    end if;

    end do;

    end proc;

    frac() retourne la partie fractionnaire du nombre, si c'est zéro c'est que c'est un entier.

    Tu appelles la proc avec:
    pyth();

  3. #3
    invite2ed02f7e

    Re : [MAPLE] [Arithmétique] Variante du triplet Pythagoricien

    Merci beaucoup pour ton aide sylvainc2 ! La fonction frac() rend les choses bien plus faciles que floor().

Discussions similaires

  1. Triplet Pythagoricien
    Par inviteaeb670bc dans le forum Mathématiques du supérieur
    Réponses: 19
    Dernier message: 28/11/2008, 20h31
  2. noeud pythagoricien
    Par invitee21bc376 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 18/06/2007, 17h58
  3. Variante du multivibrateur
    Par inviteeba7fcab dans le forum Physique
    Réponses: 8
    Dernier message: 20/02/2007, 18h36
  4. triplet pythagoricien.
    Par leg dans le forum Mathématiques du supérieur
    Réponses: 56
    Dernier message: 01/01/2005, 20h19