Petit programme sous Maple - Algo - Programmation
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)
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 :
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