• Предмет: Информатика
  • Автор: daniilpro2005
  • Вопрос задан 5 лет назад

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [4542345; 4542419], простые числа. В ответе перечислите найденные числа в порядке возрастания в полях ответа (каждое число вводите в новое поле), при необходимости можно добавлять поля ответа. Строки выводятся в порядке возрастания найденных чисел.

Ответы

Ответ дал: Гурлей
2

#include <iostream>

using namespace std;

bool isPrime(int n) //функция проверки на простоту

{

for (int i = 2; i < n/2+1; i++) //цикл от 2 до половины числа

 if (n % i == 0) //если делится на что то, то уже не простое, вернуть фолз

  return false;  

return true; //вернёт тру, если число простое

}

int main()

{

int a = 4542345, b = 4542419; //диапазоны

for (int i = a; i <= b; i++)  //пробегаем по диапазону

{

 if (isPrime(i)) cout << i << endl; //если простое, то распечатать

}

system("pause");

return 1;

}

4542361

4542371

4542389

4542407

Ответ дал: CAYFER
0

Ответ: 4542361 4542371 4542389 4542407

#include <iostream>

#include <vector>

#include <sstream>

#include <set>

#include <algorithm>

#include <cmath>

#define ull unsigned long long

using namespace std;

vector<int> primes(int start, int end)

{

       vector<int> vect;

       for(int i = start; i <= end; i++){

           int X = i;

           bool is_prime = true;

           for (int d = 2; d <= X/2; ++d)

               if (X % d == 0) {

                   is_prime = false;

                   break;

               }

           if (is_prime) {

               vect.push_back(X);

           }

       }

   return vect;

}

int main(){

   int start, end; cin >> start >> end;

   vector<int> a = primes(start, end);

   for(int i = 0; i < a.size(); i++){

       cout << a[i] << " ";

   }

   cout << endl;

}

Вас заинтересует