On m'a confié une tâche pour une tâche en java, il s'agit d'un jeu d'oeuf de Pâques qui commence quand je vous donne n oeufs, et il se termine quand vous avez exactement m oeufs. A n'importe quel stade du jeu, disons qu'il vous reste des œufs, vous pouvez alors en restituer quelques-uns, mais vous devez respecter les règles suivantes:Fonction récursive de l'oeuf de Pâques sur java
• Si n est pair, vous pouvez rendre exactement n/2 des œufs.
• Si n est divisible par 3 ou 4, alors vous pouvez multiplier les deux derniers chiffres de n et redonner beaucoup d'oeufs.
• Si n est divisible par 5, alors vous pouvez donner exactement m œufs.
• Si n est un nombre premier, alors vous pouvez donner exactement un oeuf.
Je dois écrire une fonction appelée pique-nique qui retournera vrai si en appliquant les règles dans un certain ordre nous avons exactement m oeufs à gauche; sinon false:
public static boolean picnic(int n, int m) { … }
avec cette mes tâches sont:
a) Fournir les relations de récurrence pour pique-nique (int n, int m)
b) Mettre en œuvre une fonction récursive en Java en utilisant la récurrence relations
c) Développer l'ensemble arbre d'appel récursif pour pique-nique (250, 42)
d) Quel est le modèle de récursion ici? (queue récursive ou non? tree ou récursive linéaire?)
e) Cette fonction rappelle-t-elle une stratégie de conception d'algorithme? Si oui, lequel?
Je l'ai déjà fait la question a) à ce que la réponse:
public class EasterEggs {
public static boolean picnic (int n, int m) {
if (n == m)
return true;
else return (picnic(n,m));
}
}
Et je ne suis pas sûr de savoir comment mettre en œuvre la fonction récursive. J'ai essayé plusieurs fois mais toujours rien.
Question b et c sont mes plus grands problèmes atm, et je «suis sûr que je peux comprendre d et e. Quelqu'un pourrait-il s'il vous plaît me aider? Possible et me montrer comment il peut être mis en œuvre? Vous
Si n! = M la récursion ne se termine jamais (entraîne un débordement). – blazs
@blazs parce que le code ne répond que a) et pas (encore) b) – f1sh
votre appel récursif à pique-nique, doit remplacer n par un nombre inférieur à n. Pour ce faire, appliquez chaque règle possible et utilisez pique-nique sur le nombre qui vous reste après l'application de la règle. En outre, vous devriez vérifier le cas où n