import java.util.Scanner; class sum implements Runnable { double a, b; public sum(double a, double b) { this.a = a; this.b = b; } public void run() { add(a, b); } public void add(double a, double b) { double sum = 0; synchronized (this) { for (double i = a; i <= b; i++) { sum = sum + i; } System.out.println("Sum of " + a + " to " + b + " numbers = " + (double) sum); } } } public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); Thread t1 = new Thread(new sum((double) 1, (double) n / 4)); Thread t2 = new Thread(new sum((double) (n / 4) + 1, (double) n / 2)); Thread t3 = new Thread(new sum((double) (n / 2) + 1, (double) n * 3 / 4)); Thread t4 = new Thread(new sum((double) (n * 3 / 4) + 1, (double) n)); Thread main = new Thread(new sum((double) 1, (double) n)); t1.start(); t2.start(); t3.start(); t4.start(); main.start(); try { t1.join(); t2.join(); t3.join(); t4.join(); main.join(); } catch (InterruptedException e) { e.printStackTrace(); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)