please answer correctly Algorithm Running Time package test; import java.util. *; import java.util.Random; public class Test { private long start = 0; public Test() { start = System.currentTimeMillis(); } public double elapsedTime() { long now = System.currentTimeMillis(); return (now - start) / 1000.0; } private static long constant_value(long paramInt) { long l = 0L; for (int i = 0; i < paramInt; i++) l += 1L; return l; } private static long logarithmic(long paramInt1, long paramInt2) { long l = 0L; for (int i = 1; i + i <= paramInt1; i += i) l += constant_value(paramInt2); return l; } private static long sqrt(long paramInt1, long paramInt2) { long l = 0L; int i = 0; for (int j = 0; j < paramInt1; i++) { l += constant_value(paramInt2);j += i; } return l; } public static long linearithmic(long paramInt1, long paramInt2) { if (paramInt1 == 0) return 0L; long l = 0L; for (int i = 0; i < paramInt1; i++) l += constant_value(paramInt2); return linearithmic(paramInt1 / 2, paramInt2) + l + linearithmic(paramInt1 / 2, paramInt2); } private static long linear(long paramInt1, long paramInt2) { long l = 0L; for (int i = 0; i < paramInt1; i++) l += constant_value(paramInt2); return l; } private static long linearsqrt(long paramInt1, long paramInt2) { long l = 0L; for (int i = 0; i < paramInt1; i++) { l += sqrt(paramInt1, paramInt2); } return l; } private static long quadratic(long paramInt1, long paramInt2) { long l = 0L; for (int i = 0; i < paramInt1; i++) for (int j = 0; j < paramInt1; j++) l += constant_value(paramInt2); return l; } private static long exponential(long paramInt1, long paramInt2) { if (paramInt1 == 0) return constant_value(paramInt2); return exponential(paramInt1 - 1, paramInt2) + exponential(paramInt1 - 1, paramInt2); } private static long factorial(long paramInt1, long paramInt2) { if (paramInt1 == 0) return constant_value(paramInt2); long l = 0L; for (int i = 0; i < paramInt1; i++) l += factorial(paramInt1 - 1, paramInt2); return l; } static Scanner input = new Scanner(System.in); public static void main(String[] args) { long n; long x; int y; Random randomno = new Random(); randomno.setSeed(777280); System.out.print("Enter value for N: "); n = input.nextInt(); Test timeStart = new Test(); x = factorial(n, 20); double timer1 = timeStart.elapsedTime(); System.out.print("Value: "+ x ); System.out. println("\tTime Elapsed: " + timer1); } }
please answer correctly
package test;
import java.util. *;
import java.util.Random;
public class Test {
private long start = 0;
public Test() {
start = System.currentTimeMillis();
}
public double elapsedTime() {
long now = System.currentTimeMillis();
return (now - start) / 1000.0;
}
private static long constant_value(long paramInt) {
long l = 0L;
for (int i = 0; i < paramInt; i++)
l += 1L;
return l;
}
private static long logarithmic(long paramInt1, long paramInt2) {
long l = 0L;
for (int i = 1; i + i <= paramInt1; i += i)
l += constant_value(paramInt2);
return l;
}
private static long sqrt(long paramInt1, long paramInt2) {
long l = 0L;
int i = 0; for (int j = 0; j < paramInt1; i++) {
l += constant_value(paramInt2);j += i;
}
return l;
}
public static long linearithmic(long paramInt1, long paramInt2) {
if (paramInt1 == 0) return 0L;
long l = 0L;
for (int i = 0; i < paramInt1; i++)
l += constant_value(paramInt2);
return linearithmic(paramInt1 / 2, paramInt2) + l + linearithmic(paramInt1 / 2, paramInt2);
}
private static long linear(long paramInt1, long paramInt2) {
long l = 0L;
for (int i = 0; i < paramInt1; i++)
l += constant_value(paramInt2);
return l;
}
private static long linearsqrt(long paramInt1, long paramInt2) {
long l = 0L;
for (int i = 0; i < paramInt1; i++) {
l += sqrt(paramInt1, paramInt2);
}
return l;
}
private static long quadratic(long paramInt1, long paramInt2) {
long l = 0L;
for (int i = 0; i < paramInt1; i++)
for (int j = 0; j < paramInt1; j++)
l += constant_value(paramInt2);
return l;
}
private static long exponential(long paramInt1, long paramInt2) {
if (paramInt1 == 0) return constant_value(paramInt2);
return exponential(paramInt1 - 1, paramInt2) + exponential(paramInt1 - 1, paramInt2);
}
private static long factorial(long paramInt1, long paramInt2) {
if (paramInt1 == 0) return constant_value(paramInt2);
long l = 0L;
for (int i = 0; i < paramInt1; i++)
l += factorial(paramInt1 - 1, paramInt2);
return l;
}
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
long n;
long x;
int y;
Random randomno = new Random();
randomno.setSeed(777280);
System.out.print("Enter value for N: ");
n = input.nextInt();
Test timeStart = new Test();
x = factorial(n, 20);
double timer1 = timeStart.elapsedTime();
System.out.print("Value: "+ x );
System.out. println("\tTime Elapsed: " + timer1);
}
}
Step by step
Solved in 2 steps