J'ai cette classe:classe Fibonacci retourne toujours 0
public class Fibonacci
{
public static int Calculate(int x)
{
if (x <= 0)
{
return 0;
}
else
{
return Calculate(x - 1) + Calculate(x - 2);
}
}
}
par un tutoriel que je fais si un 6 entrées on devrait obtenir 8 comme résultat attendu, mais quand je le lance, il retourne toujours 0 C'est récursif, donc ça a du sens pour moi, mais comment est-ce qu'ils obtiennent 8 comme résultat attendu?
Vous devriez vous débrouiller seul, vous en apprendrez plus. Astuce: pensez à ce que fait Calculer (0) et Calculer (1). Et si vous ne l'obtenez pas, utilisez un débogueur. –
La méthode Calculate ne peut pas retourner null - le type de retour est un entier, qui ne peut pas être nul. Je remarque que dans le texte vous dites qu'il renvoie zéro - mais dans le titre vous dites null. Ce ne sont pas la même chose - je vous suggère de mettre à jour le titre pour dire zéro. –
En tant que sidenote: la récursivité n'est pas la meilleure façon de calculer les nombres de fibonacci. Par exemple, lorsque vous utilisez cette méthode pour calculer f (n), alors f (n-2) est calculé deux fois. F (n-4) est calculé 5 fois! Essayez-le sur le papier avec f (6) ... –