Proszę o pomoc, funkcja nie działa mi do końca
Treść zadania "Stwórz funkcję sprawdzającą, czy podana jako argument liczba jest liczbą pierwszą. Funkcja ma zwracać wartości: 0 (nie jest pierwsza) lub 1 (jest pierwsza)"
#include <stdio.h>
#include <stdlib.h>
#include "pch.h"
#include <iostream>
int liczba_pierwsza(int liczba, int w = 1)
{
if (liczba < 2)
w = 0;
for (int i = 2; i <= liczba - 1; i++)
{
if (liczba % i == 0)
{
w = 0;
}
else
{
return(1);
}
}
}
int main(void)
{
int liczba;
int wynik;
std::cout << "Podaj liczbe" << std::endl;
std::cin >> liczba;
wynik = liczba_pierwsza(liczba);
if (wynik == 1)
{
std::cout << "Liczba jest pierwsza" << std::endl;
}
else
{
std::cout << "Liczba nie jest pierwsza" << std::endl;
}
return(0);
}