From 5944a90e51487f54292ea74a7f66cb588e3541a8 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 11 May 2026 18:41:29 +0300 Subject: [PATCH 1/2] it's works --- .gitignore | 1 + pom.xml | 2 +- src/main/java/core/basesyntax/MyTask.java | 16 ++++++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6366460f..7465934e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea/* +*.skill *.iml target/* diff --git a/pom.xml b/pom.xml index 38f7f24d..5489e267 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 1.0-SNAPSHOT - 11 + 21 UTF-8 UTF-8 3.1.1 diff --git a/src/main/java/core/basesyntax/MyTask.java b/src/main/java/core/basesyntax/MyTask.java index f68b8749..0a7d5122 100644 --- a/src/main/java/core/basesyntax/MyTask.java +++ b/src/main/java/core/basesyntax/MyTask.java @@ -3,6 +3,7 @@ import java.util.concurrent.RecursiveTask; public class MyTask extends RecursiveTask { + public static final int MAX = 10; private int startPoint; private int finishPoint; @@ -13,7 +14,18 @@ public MyTask(int startPoint, int finishPoint) { @Override protected Long compute() { - // write your code here - return null; + int length = finishPoint - startPoint; // Это и есть ваш workLoad + if (length <= MAX) { + long sum = 0; + for (int i = startPoint; i < finishPoint; i++) { + sum += i; + } + return sum; + } + int middle = startPoint + (finishPoint - startPoint) / 2; + MyTask leftTask = new MyTask(startPoint, middle); + MyTask rightTask = new MyTask(middle, finishPoint); + leftTask.fork(); // Запускаем одну задачу асинхронно + return rightTask.compute() + leftTask.join(); } } From 6167bdb49a0d9e67d7291537c679e37d55e9e1f2 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 11 May 2026 18:55:02 +0300 Subject: [PATCH 2/2] 17 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5489e267..66c1a9a5 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 1.0-SNAPSHOT - 21 + 17 UTF-8 UTF-8 3.1.1