Лабораторна робота №1. Багатопоточне та асинхронне програмування на С++
https://www.youtube.com/live/FvkbzSyJIQ8?si=JteU35AIw2jYsvWp
https://www.youtube.com/live/zd6NllQWn38?si=61xaP9Jf5AlsSj98
На кожне з 4-х завдань розробити 2 програми, які моделюють багатопоточність та асинхроність. Для цього використовуються класи std::thread та future.
1) Дано масив цілих чисел на N елементів. Обчислити кількість лише простих його елементів.
Вхідні данні: У вхідному потоці першому рядку дано єдине натуральне число N (N <= 100000).
У другому рядку через пропуск перераховані значення елементів масиву Ai (0 <= Ai <= 106).
Приклад вхідного файлу (input.txt):
9
1 2 3 4 5 6 7 8 9
Вихідні данні: У вихідний потік вивести єдине ціле число.
Приклад вихідного файлу (output.txt):
4
2)Вичисліть суму перших простих елементів натурального ряда, які не перевищують n.
Вхідні данні: Во вхідному потоці дано єдине натуральне число n (n < 1.5* 106)
Приклад вхідного файлу:
5
Вихідні данні:
В выходной поток вывести единстуенное натуральное число.
Приклад вихідного файлу:
10
3) Даний цілий масив на N елементів. Обчислити суму лише його простих елементів. Написати багатопотоковий варіант розв'язання цієї задачі.
Вхідні дані:
У вхідному потоці першому рядку дано єдине натуральне число N (N <= 100000).
У другому рядку через пропуск перераховані значення елементів масиву Ai (|Ai| <= 106).
Приклад вхідного файлу (input.txt):
9
1 2 3 4 5 6 7 8 9
Вихідні дані:
У вихідний потік вивести єдине ціле число. Результат може перевищити 2*109.
Приклад вихідного файлу (output.txt):
17
4) Визначити властивості перших n натуральних чисел. Для кожного з чисел визначити число його натуральних дільників і чи є дане число простим.
Програма має бути реалізована у вигляді багатопотокового додатка.
Для перевірки правильності роботи багатопоточного режиму роботи програми можна порівняти системний та реальний час роботи програми. Якщо реальний час приблизно півтора-два рази менший від системного, то програма дійсно працює в багатопотоковому режимі.
Вхідні дані:
У вхідному потоці встановлено єдине натуральне число n (n <= 250 000).
Приклад вхідного файлу (input.txt):
6
Вихідні дані:
У вихідний потік вивести таблицю у форматі (у порядку зростання значення натурального числа):
<натуральне число> <кількість дільників> <проста>
Якщо число просте, вивести одиницю, інакше нуль.
Приклад вихідного файлу (output.txt):
1 1 0
2 2 1
3 2 1
4 3 0
5 2 1
6 4 0