Рубрики

C ++ Программа для проверки простого номера

Учитывая положительное целое число, проверьте, является ли число простым или нет. Простое число — это натуральное число, большее 1, которое не имеет положительных делителей, кроме 1 и самого себя. Примеры первых нескольких простых чисел: {2, 3, 5,

Примеры:

Input:  n = 11
Output: true

Input:  n = 15
Output: false

Input:  n = 1
Output: false

// Школьная программа на C ++ для проверки,
// число простое
#include <bits/stdc++.h>

using namespace std;

  

bool isPrime(int n)

{

    // Угловой корпус

    if (n <= 1)

        return false;

  

    // Проверка от 2 до n-1

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

        if (n % i == 0)

            return false;

  

    return true;

}

  
// Программа драйвера для проверки вышеуказанной функции

int main()

{

    isPrime(11) ? cout << " true\n" : cout << " false\n";

    isPrime(15) ? cout << " true\n" : cout << " false\n";

    return 0;

}

Выход:

true
 false

Временная сложность этого решения составляет O (n)

Оптимизированный школьный метод

// Оптимизированная школьная программа на C ++ для проверки
// если число простое
#include <bits/stdc++.h>

using namespace std;

  

bool isPrime(int n)

{

    // Угловые шкафы

    if (n <= 1)

        return false;

    if (n <= 3)

        return true;

  

    // Это проверено, чтобы мы могли пропустить

    // средние пять чисел в нижнем цикле

    if (n % 2 == 0 || n % 3 == 0)

        return false;

  

    for (int i = 5; i * i <= n; i = i + 6)

        if (n % i == 0 || n % (i + 2) == 0)

            return false;

  

    return true;

}

  
// Программа драйвера для проверки вышеуказанной функции

int main()

{

    isPrime(11) ? cout << " true\n" : cout << " false\n";

    isPrime(15) ? cout << " true\n" : cout << " false\n";

    return 0;

}

Выход:

true
 false

Пожалуйста, обратитесь полную статью о тесте Primality | Установите 1 (Введение и школьный метод) для более подробной информации!

Рекомендуемые посты:

C ++ Программа для проверки простого номера

0.00 (0%) 0 votes