Liczby pierwsze z podanego przedziału

Wstęp:

  • DEFINICJA. Liczba pierwsza to taka liczba naturalna, która ma dokładnie dwa dzielniki naturalne: jedynkę i samą siebie.
  • Korzystamy w programie z funkcji zwracającej wartość czyPierwsza(int n)
  • Jej implementacje omawia inny artykuł na stronie: Badanie czy liczba n jest pierwsza

Przykładowy kod programu w C++ z wykorzystaniem funkcji opartej o iterację for:

// liczby pierwsze z przedziału <a, b>
#include <iostream>
using namespace std;

// funkcja sprawdza czy liczba n jest pierwsza
bool czyPierwsza(int n){
	if (n<2) return false;
	for(int i=2; i*i<=n; i++){
		if (n%i==0) return false;
	}
	return true;	
}

int main() {
	int i;
	int start, stop;
	
	//wczytywanie danych
	cout << "podaj poczatek przedzialu: "; cin >> start;
	cout << "podaj koniec przedzialu: "; cin >> stop;
	
	// wyświetlenie liczb pierwszysch w przedziale <start, stop>
	cout << "\nliczby pierwsze od " << start << " do " << stop << "\n";
	for(i=start; i<=stop; i++) if(czyPierwsza(i)) cout << i << " ";
	
	return 0;
}

Wykorzystanie kodu

  • Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
  • Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh