Вопрос задан 24.09.2023 в 05:08. Предмет Информатика. Спрашивает Кун Михаил.

ІНФОРМАТИКА 8 КЛАС МОВА КОДУВАННЯ С++ Кількість майже простихСеред Nцілих додатних чисел не

більших 30000 знайти кількість майже простих чисел. Назвемо ті числа майже простими, які мають лише один дільник і той простий.Формат вхідних данихКількість майже простихУ першому рядку задано ціле число N(1≤N≤1000). У наступному рядку містяться цілі додатні числа не більші 10000, які розділяються пропуском.Формат вихідних данихУ вихідний потік вивести кількість майже простих чисел.Приклад вхідних даних516 20 30 4 25Приклад вихідних даних2
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Корнилова Танюша.

#include <iostream>

#include <vector>

using namespace std;

bool is_prime(int n) {

   if (n < 2) return false;

   for (int i = 2; i * i <= n; i++) {

       if (n % i == 0) return false;

   }

   return true;

}

int count_almost_primes(int n, vector<int>& nums) {

   int count = 0;

   for (int i = 0; i < n; i++) {

       int divisors = 0;

       for (int j = 1; j <= nums[i]; j++) {

           if (nums[i] % j == 0 && is_prime(j)) {

               divisors++;

               if (divisors > 1) break;

           }

       }

       if (divisors == 1) count++;

   }

   return count;

}

int main() {

   int n;

   cin >> n;

   vector<int> nums(n);

   for (int i = 0; i < n; i++) {

       cin >> nums[i];

   }

   cout << count_almost_primes(n, nums) << endl;

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для вирішення цієї задачі ви можете написати програму на мові програмування C++. Ось приклад коду, який може розв'язати цю задачу:

cpp
#include <iostream> using namespace std; // Функція для перевірки, чи є число простим bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int N; cin >> N; int count = 0; for (int i = 0; i < N; i++) { int num; cin >> num; // Перевірка, чи майже просте число int divisors = 0; for (int j = 1; j <= num; j++) { if (num % j == 0 && isPrime(j)) { divisors++; } } if (divisors == 1) { count++; } } cout << count << endl; return 0; }

Цей код спочатку перевіряє, чи введене число є простим за допомогою функції isPrime. Потім він перевіряє кількість простих дільників для кожного введеного числа та підраховує кількість майже простих чисел. На виході виводиться кількість майже простих чисел.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос