@@ -0,0 +1,1323 @@
+import java.time.Duration;%0Aimport java.time.LocalTime;%0A%0Apublic class FactorialPerformance %7B%0A    public static void main(String%5B%5D args) %7B%0A        //region Recursive Factorial%0A        LocalTime startTime = LocalTime.now();%0A        for (int i = 0; i %3C 1_000_000; i++) %7B%0A            long f = recursiveFactorial(15);%0A        %7D%0A        LocalTime endTime = LocalTime.now();%0A        long elapsedMinutes = Duration.between(startTime, endTime).toMillis();%0A        System.out.println(%22Recursive factorial time: %22 + elapsedMinutes);%0A        //endregion%0A%0A        //region Iteractive Factorial%0A        LocalTime startTimeI = LocalTime.now();%0A        for (int i = 0; i %3C 1_000_000; i++) %7B%0A            long f = iteractiveFactorial(15);%0A        %7D%0A        LocalTime endTimeI = LocalTime.now();%0A        long elapsedMinutesI = Duration.between(startTimeI, endTimeI).toMillis();%0A        System.out.println(%22Iteractive factorial time: %22 + elapsedMinutesI);%0A        //endregion%0A    %7D%0A%0A    private static long recursiveFactorial(int num)  %7B%0A        if(num == 0)%0A            return 1;%0A%0A        else%0A            return num * recursiveFactorial(num - 1);%0A    %7D%0A%0A    private static long iteractiveFactorial(int num) %7B%0A        long result = 1;%0A        for (int i = 1; i %3C= num; i++) %7B%0A            result *= i;%0A        %7D%0A%0A        return result;%0A    %7D%0A%7D%0A

Create 05.FactorialPerformance.java