Я сделал простую функцию для вычисления факториала числа, но из числа 34 возвращает 0 . Он должен быть с номера 51.
public class Métodos {
public int factorial (int numero ){
if ((numero <0)||(numero>50)){
return 0;
}
else if ((numero == 0)||(numero == 1)){
return 1;
}
else{
return numero * factorial(numero -1);
}
}
}
Спасибо !
Редактировать:
Хорошо, как я могу это проверить?
потому что он говорит, что int не может быть преобразован в bigInteger.
public static void main(String[] args) {
// TODO code application logic here
Métodos metod = new Métodos();
System.out.print("El resultado es : " + metod.factorial(-12)+ "\n");
System.out.print("El resultado es : " + metod.factorial(-1)+ "\n");
System.out.print("El resultado es : " + metod.factorial(0)+ "\n");
System.out.print("El resultado es : " + metod.factorial(1)+ "\n");
System.out.print("El resultado es : " + metod.factorial(5)+ "\n");
System.out.print("El resultado es : " + metod.factorial(51)+ "\n");
System.out.print("El resultado es : " + metod.factorial(520)+ "\n");
}