Вопрос задан 21.04.2018 в 21:18. Предмет Информатика. Спрашивает Карапетьян Ян.

Составьте программу вывода на экран всех простых чисел, не превосходящих заданного N. Простым

называется натуральное число больше единицы, имеющее только два делителя: единицу и само это число.
0 0
Перейти к ответам

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

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

#include <iostream>
#include <algorithm>
#include <vector>using namespace std;bool Has(const vector<int> &primeNumbers, int value)
{
  bool has = false;
  for (int prime_number : primeNumbers)
  {
    if (value % prime_number == 0)
    {
      has = true;
    }
  }
  return has;
}vector<int> GetPrimeNumbers(int i)
{
  vector<int> primeNumbers= { 2, 3 };
  for (int j = 4;j < i;j++)
  {
    if (!Has(primeNumbers, j))
    {
      primeNumbers.push_back(j);
    }
  }
  return primeNumbers;
}int main()
{
  int n;
  cin >> n;
  vector<int> prime_numbers = GetPrimeNumbers(n);
  for (int prime_number : prime_numbers)
  {
    cout << prime_number << endl;
  }
  cin >> n;
  return 0;
}

0 0
Отвечает Фугаев Рома.

Напишу ответ, потому что:
1) Все же С++ изучают реже, чем Паскаль
2) Чтобы в очередной раз показать преимущества Паскаля над С-подобными языками для школьных задач.
Как говорится, "Имеющий глаза - да увидит!"

// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('N=');
  for var i:=1 to n do begin
    var (flag,j,r):=(True,2,Round(Sqrt(i)));
    while flag and (j<=r) do
      if i mod j = 0 then flag:=false
      else j+=1;
    if flag then Print(i)
    end
end.

Пример
N= 150
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149

0 0

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

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

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