Recursive problème en Java

Fermé
westerndigit Messages postés 134 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 avril 2012 - 20 janv. 2012 à 06:34
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 20 janv. 2012 à 07:42
Bonjour,

Java

Pourquoi mon résultat est 16 et non 15 ?

merci pour votre réponse

Voici le code :


public class RecursiveFactorial {

/**
* @param args the command line arguments
*/
public static void main( String [] args )
{
// compute factorial of 5 and output it
System.out.println( "Factorial ( 5 ) is "
+ factorial( 5 ) );
}

public static int factorial( int n )
{
if ( n <= 0 ) // base case
return 1;
else // general case
return ( n + factorial ( n - 1 ) );
}
}

A voir également:

1 réponse

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 20/01/2012 à 07:32
Le résultat de 5! ne devrait être ni 15, ni 16, mais 120...
Regarde https://fr.wikipedia.org/wiki/FactorielleLa confiance n'exclut pas le contrôle
0
westerndigit Messages postés 134 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 18 avril 2012
20 janv. 2012 à 07:35
je voulais faire la somme de 5 nombres
ex : 1+2+3+4+5 = 15
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
20 janv. 2012 à 07:42
Alors n'appelle pas ta fonction factorial dans une classe RecursiveFactorial c'est idiot !
Sinon ton problème est évident, il suffit de chercher un peu...
0