#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int czy_pierwsza = 0;
cout << "Wprowadź liczbę do sprawdzenia, czy jest pierwsza.";
cin >> czy_pierwsza;
int pierwiastek = int(sqrt(czy_pierwsza));
bool jest_pierwsza_czy_nie_jest = true;
for (int i = 2; i <= pierwiastek; i++){
if (czy_pierwsza % i == 0){
jest_pierwsza_czy_nie_jest = false;
}
}
if (jest_pierwsza_czy_nie_jest == true){
cout << "Liczba jest pierwsza.";
}else{
cout << "Liczba nie jest pierwsza.";
}
}
http://www.algorytm.edu.pl/algorytmy-maturalne/badanie-czy-liczba-pierwsza.html
Na drugi raz wpisz w Google "algorytm sprawdzania czy liczba jest pierwsza cpp".
Powyżej moje rozwiązanie.
Na początku importujesz biblioteki do wejścia i wyjścia, by móc coś wkleić do zmiennych i tą matematyczną, żeby nie musieć pisać pierwiastka kwadratowego od początku tylko skorzystać z tego, co ktoś napisał. Potem metodą bardzo siłową, bo nie jest to wydajny algorytm sprawdzasz, czy jakakolwiek z licz mieszczących się w przedziale od 2 do pierwiastka ze sprawdzanej liczby danej podzielona przez tą liczbę resztę zero. Jeśli tak to znaczy, że tą liczbę można rozłożyć na mniejsze czynniki i wiemy, że nie jest ona wtedy pierwsza. Można by jeszcze przy zmianie wartości logicznej na false wyjść breakiem z pętli, ale mi się nie chciało sorki. A więc podsumowując siłowo sprawdzasz, czy liczba się przez coś dzieli, czy nie, a może się dzielić tylko przez liczbę mniejszą od siebie, dodatkowo ktoś mądrzejszy ode mnie ustalił, że wystarczy to sprawdzać do pierwiastka z tej liczby. Jak nie no to jest pierwsza.
Pozdrawiam
Mateusz