Вопрос задан 01.05.2019 в 09:18. Предмет Информатика. Спрашивает Ким Нургуль.

Найти и вывести на экран первые n простых чисел в С++(желательно без массива)

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гавриш Лев.
Например так
#include <iostream>
#include <math.h>
using namespace std;
int main(void)
{
int n,count=1,i=2;
cin>>n; int a[n+1]; a[0]=2;
while(count<n)
{
bool b=true;
for(int j=0;j<count;j++)
if(a[j]>sqrtl(i)+1) break;
else
{
if(i%a[j]==0) b=false;
if(b) {a[count]=i; count++;}
i++;
}
}
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}
ускорил работу еще немного
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для того чтобы найти и вывести на экран первые n простых чисел в C++, можно использовать алгоритм проверки числа на простоту и цикл для нахождения n простых чисел.

Алгоритм проверки числа на простоту:

1. Проверяем, является ли число 2 или 3. Если да, то число простое. 2. Если число четное или меньше 2, то оно не является простым. 3. Проверяем делители числа от 2 до квадратного корня из числа. Если находим делитель, то число не является простым.

Реализация на C++:

```cpp #include

bool isPrime(int num) { if (num == 2 || num == 3) { return true; } if (num % 2 == 0 || num < 2) { return false; } for (int i = 3; i * i <= num; i += 2) { if (num % i == 0) { return false; } } return true; }

void printFirstNPrimes(int n) { int count = 0; int num = 2; while (count < n) { if (isPrime(num)) { std::cout << num << " "; count++; } num++; } }

int main() { int n; std::cout << "Enter the value of n: "; std::cin >> n; std::cout << "The first " << n << " prime numbers are: "; printFirstNPrimes(n); return 0; } ```

Объяснение кода:

- Функция `isPrime` проверяет, является ли число простым, с помощью описанного выше алгоритма. - Функция `printFirstNPrimes` выводит на экран первые n простых чисел, используя функцию `isPrime`. - В функции `main` пользователю предлагается ввести значение n, после чего вызывается функция `printFirstNPrimes` для вывода простых чисел.

Пример работы программы: ``` Enter the value of n: 10 The first 10 prime numbers are: 2 3 5 7 11 13 17 19 23 29 ```

Пожалуйста, обратите внимание, что данная реализация не использует массив для хранения простых чисел.

0 0

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

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

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