Petit programme sous Maple

Petit programme sous Maple - Algo - Programmation

Marsh Posté le 28-04-2004 à 20:26:58    

Je voudrais faire un algorithme sous maple pous savoir combien de nombres entre 0 et 1000 ont un nombre pair de diviseurs.
 
J'ai fait ca :
 

Le programme a écrit :

 
 
enigme:=proc(x,y);with(numtheory):
> a:=x;
> b:=y;
> if b>=1000 then (a) fi;
> if ((nops(divisors(b)))mod 2=0) then enigme(a+1,b+1)
> else enigme(a,b+1) fi;
> end:

Warning, `a` is implicitly declared local to procedure `enigme`
 
Warning, `b` is implicitly declared local to procedure `enigme`

 
>  
> enigme(0,1);
 
Error, (in type/module) too many levels of recursion
 




 
POurquoi il me met cette erreur ?


Message édité par ytrezax le 28-04-2004 à 20:28:17
Reply

Marsh Posté le 28-04-2004 à 20:26:58   

Reply

Marsh Posté le 29-04-2004 à 00:19:09    

Ca représente quoi ton x et ton y?
T'es obligé de faire une fonction récursive?
Parce qu'une simple boucle suffit.
En plus, si tu lis l'aide de maple, tu verras qu'il existe une fonction qui renvoie le nombre de diviseurs d'un entier : tau (enfin dans la version 9.03 en tous cas)
Sinon, si j'ai bien fait le truc, il y en a 970 (en comptant le 0 qui a zéro diviseur)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed