CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Maple - Algo Euclide

Gouni
Gouni
Niveau 10
18 octobre 2011 à 15:49:17

Bonjour à tous,

Bon j'ai posté mon problème sur le fofo C&D mais visiblement y a pas grand monde de calé sur Maple par là-bas. :noel:

Donc je viens vous demander votre aide ici.

Il s'agit de l'algorithme d'Euclide pour le calcul du PGCD.

Voici mon programme :

PGCD := proc (a, b)
local r, r0, r1;
a := r0;
b := r1;
r := mod(r0, r1);
while 0 < r do
r0 := r1;
r1 := r;
r := mod(r0, r1)
od;
return r
end proc;

Quand je veux exécuter le proc, Maple me retourne le message suivant : "Error, (in PGCD) illegal use of a formal parameter"

Où est mon problème ? :(

P.S : Je ne suis, à la base, pas censé utiliser les fonctions iquo ou irem (même pas la fonction mod)
Il s'agit de détailler la fonction irem enfaite ou mod...
Mais je suis vraiment paumé.

Par avance merci

Gloubichou
Gloubichou
Niveau 42
18 octobre 2011 à 16:38:02

mod c'est le modulo ?

Gloubichou
Gloubichou
Niveau 42
18 octobre 2011 à 16:39:23

Enfin sinon y a un soucis. Tu demandes à l'utilisateur d'entrer a et b et ensuite tu redéfinis a et b. Y a un petit ... truc quoi :-p

Gloubichou
Gloubichou
Niveau 42
18 octobre 2011 à 16:47:21

Je pense que comme ça, ça devrait marcher (pas sûr mais bon :-p ):

PGCD := proc (a, b)
local r, r0, r1;
r0 := a;
r1 := b;
r := mod(r0, r1);
while r <> 0 do
r0 := r1;
r1 := r;
r := mod(r0, r1)
od;
return r
end proc;

Et désolé du triple post :rouge:

Gouni
Gouni
Niveau 10
18 octobre 2011 à 16:52:07

Salut!

Oui mod c'est bien modulo.
Bon j'essaie ça quand je rentre et je te tiens au jus. :)

Merci d'avoir répondu

Gouni
Gouni
Niveau 10
18 octobre 2011 à 19:05:30

Bon le message d'erreur a disparu mais quand je tente un PGCD(24,10) il me dit 0, wtf ? :noel:

Gouni
Gouni
Niveau 10
18 octobre 2011 à 19:10:56

(J'ai dit avec 24,10 mais ça me met 0 pour toutes les tentatives évidemment).

Gouni
Gouni
Niveau 10
18 octobre 2011 à 20:32:29

Punaise, ça fait au moins 5 heures que je suis dessus.
Et j'ai besoin de l'algo pour faire une identité de Bézout par la suite et pour comprendre le reste du TD. :(

Sachant qu'en plus, je suis censé utiliser la commande modulo dans la suite du TD et pas maintenant. :noel:

Gouni
Gouni
Niveau 10
18 octobre 2011 à 21:07:34

re,

J'ai trouvé la solution enfaite :

PGCD:=proc(a,b)
local x1,x2;
x1:=a; x2:=b;
while (x1<>x2) do
if (x1>x2) then x1:=x1-x2 else x2:=x2-x1 end if;
end do;
return x1;
end proc;

Que la modération m'excuse du quintuple post vraiment.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment