Wskazanie błędu w programie

0

Mam tu takie proste zadanie:

Napisz funkcję, której argumentem wywołania jest liczba całkowita dodatnia. Funkcja zwraca prawdę jeśli ta liczba jest liczbą pierwszą, fałsz - w przeciwnym wypadku.

mój program nie zawsze wyrzuca odpowiednia wartośc, tzn na przykład 15 wskazuje jako liczbę pierwsza natomiast inne liczby wskazuje okej, to samo przy np. 27...Prosiłbym o pomoc. :)

#include <iostream>

using namespace std;

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

        return false;

        }else return true;
    }
}

int main()
{
    int liczba, wynik;
    cout<<"Podaj liczbe by sprawdzic czy jest pierwsza: ";
    cin>>liczba;
    wynik = liczba_pierwsza(liczba);
    cout<<wynik;
    return 0;
}
3
else return true;

przenieś zwracanie true poza pętlę, bo teraz wskazujesz, że liczba jest pierwsza przy pierwszym przypadku gdy reszta wynosi zero

1 użytkowników online, w tym zalogowanych: 0, gości: 1