Search code examples
javafactorial

How to find factorial and show result of counting in console?


public class Car {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        System.out.println(n+"!="+factorial(n));
    }
    public static int factorial(int num) {
        return (num == 0) ? 1 : num * factorial (num - 1);
    }
}

how make this code to text in console 3! = 1*2*3 = 6?


Solution

  • Don't use recursion for this. Besides, it isn't really efficient or necessary.

          Scanner in = new Scanner(System.in);
          int n = in.nextInt();
          int fact = 1;
          String s = n + "! = 1";
          for (int i = 2; i <= n; i++) {
             fact *= i;
             s += "*" + i;
          }
          s += " = ";
          System.out.println(s + fact);