Question: Consider the following serial code: class factorial { static int factorialexm(int num){ if(num==0) return 1; else return (num * factorialexm(num-1)); } public static void main(String
Consider the following serial code:
class factorial
{
static int factorialexm(int num){
if(num==0)
return 1;
else
return (num * factorialexm(num-1));
}
public static void main(String args[]){
int fact = 1, i;
int num = 8;
fact = factorialexm(num);
System.out.println("Factorial of "+num+" is: "+fact);
}
}
And the following Parallel Code:
package com.company;
import java.util.concurrent.*;
class Factorial extends RecursiveTask {
private final int num;
public Factorial(int num) {
this.num = num;
}
protected Integer compute() {
if (num == 0) {
return 1;
} else if (num == 1) {
return 1;
} else {
Factorial f1 = new Factorial(num - 1);
f1.fork();
return num * f1.join();
}
}
}
public class Main {
public static void main(String[] args) {
int num = 8;
ForkJoinPool pool = new ForkJoinPool();
Factorial factorial = new Factorial(num);
int fact = pool.invoke(factorial);
System.out.println("Factorial of " + num + " is: " + fact);
}}
What is the parallelization percentage of the above code?
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
