Определение простых чисел на C++

C++Beginner
Практиковаться сейчас

Введение

В этом практическом занятии мы научимся проверять, является ли заданное число простым или составным на C++. Простое число - это число, большее 1, которое не делится на никакое другое число, кроме 1 и самого себя. Составное число - это число, большее 1, которое делится на числа, отличные от 1 и самого себя.

Определить функцию isPrime()

Мы определим функцию isPrime(), которая принимает целое число и возвращает логическое значение, представляющее, является ли целое число простым или нет.

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 не является простым числом

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

В приведенном выше коде мы проверяем, делится ли заданное число на любое другое число. Если таких чисел нет, то число является простым. Если число равно 1, то оно не является простым.

Написать функцию main()

Теперь напишем функцию main(), которая будет получать ввод от пользователя и использовать функцию isPrime() для определения, является ли заданное число простым или составным.

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Самый эффективный алгоритм для определения, является ли введенное число простым или нет. ===== \n\n";

    cout << " ===== Примечание: 1 ни простое, ни составное число. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Введите целое положительное число, отличное от 1:  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nВведенное число " << n << " является простым числом.";
    }
    else
    {
        cout << "\n\nВведенное число " << n << " является составным числом.";
    }

    cout << "\n\n\n";

    return 0;
}

Компилировать и запускать программу

Компилируйте код с использованием команды g++ следующим образом:

g++ main.cpp -o main

Затем запустите программу с использованием команды ./main.

./main

Программа попросит вас ввести целое положительное число, отличное от 1. Введите число и нажмите Enter.

Затем программа выведет, является ли введенное число простым или составным.

Полный код main.cpp

#include <iostream>
#include <math.h>

using namespace std;

bool isPrime(int n)
{
    if (n == 1)
        return false; // 1 не является простым числом

    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n % i == 0)
            return false;
    }

    return true;
}

int main()
{
    cout << "\n\nWelcome to LabEx :-)\n\n\n";
    cout << " ===== Самый эффективный алгоритм для определения, является ли введенное число простым или нет. ===== \n\n";

    cout << " ===== Примечание: 1 ни простое, ни составное число. ===== \n\n";

    int n;
    bool prime = false;

    cout << " Введите целое положительное число, отличное от 1:  ";
    cin >> n;

    prime = isPrime(n);

    if (prime)
    {
        cout << "\n\nВведенное число " << n << " является простым числом.";
    }
    else
    {
        cout << "\n\nВведенное число " << n << " является составным числом.";
    }

    cout << "\n\n\n";

    return 0;
}

Резюме

В этом практическом занятии мы узнали, как проверять, является ли заданное число простым или составным на C++. Мы использовали функцию для определения, является ли заданное число простым, исходя из того, делится ли оно на какие-либо числа, кроме 1 и самого себя. Затем мы использовали эту функцию в main(), которая получала ввод от пользователя и выводила, является ли число простым или составным.