Napisz program w języku C++, który wczyta z klawiatury liczbę całkowitą n i na standardowe wyjście wypisze:
n nie jest liczbą pierwszą – jeśli n nie jest pierwsza,
n jest liczbą pierwszą numer X – jeśli n jest liczbą pierwszą.
-
Założenie: n >= 2 i n <= 50000.
-
Aby rozwiązanie zostało zaakceptowane musi w nim wystąpić element indeksowania liczb pierwszych w tablicy. Preferowane jest wykorzystanie algorytmu sita Eratostenesa.
-
Wartości "n", "X" na wyjściu należy oczywiście zastąpić odpowiednimi wartościami liczbowymi
#include <iostream>
#include <cmath>
#include <iterator>
using namespace std;
int main ()
{
int n = 50000;
bool liczby[n+1];
for (int i=0; i<=n; i++)
{
liczby[i]=true;
}
liczby [1] = false;
for (int i=2; i<=sqrt(n); i++)
{
if (liczby [i] == true)
{
for (int j=i+i; j<= n; j=j+i)
{
liczby[j]=false;
}
}
}
int ile;
{
int i, wynik;
wynik=0;
for (i=0; i<n; i++){
if (liczby[i]==true)
wynik++;
return wynik;
int w;
w=ile;
if (w==0)
cout<<"brak szukanego elementu";
else
cout<<"element wystepuje razy";
}
int liczba;
cin >> liczba;
if (liczby [liczba] == true)
cout << "jest numer pierwsza " << endl;
else
cout << "Nie jest liczbš pierwsza " << endl;
}
return 0;
}
Co tu mam poprawić?