1 / 4
May 2023

Cześć,
jestem tutaj nowy i dopiero zaczynam przygodę z C++.
Jest to dla mnie rodzaj hobby i zabawy, chciałbym się sprawdzić w tym temacie…
na dzien dobry napotkałem problem. Pierwsze zadanie - liczby pierwsze.
Wydaje mi sie, że mój program działa prawidłowo, ale niestety sędzia mówi nie;)
mógłby ktoś w wolnej chwili rzucić okiem co jest nie tak?

#include

using namespace std;
int podanaLiczba;
int n = 10000;//liczba testow
bool czyPierwsza(int x)
{
for(int i=2; i<x; i++)
{
if(x % i == 0)
{
return false;

       }

}

    return true;

};

int main()
{

for(int j=0; j<=n; j++){
cout <<“sprawdzmy czy liczba jest liczba pierwsza”<<endl;
cin >> podanaLiczba;
czyPierwsza(podanaLiczba);
if ((czyPierwsza(podanaLiczba))==1)
{
cout<<“tak”<<endl;
}
else
{
cout<<“nie”<<endl;
}
};
return 0;

};

  • created

    May '23
  • last reply

    May '23
  • 3

    replies

  • 278

    views

  • 3

    users

  • 3

    likes

  • 3

    links

  1. Brak referencji do zadania (wystarczy wkleić link) sposób rozwiązania nie wskazuje na użycie poprawnych danych np. n użyta jest stała wartość.
  2. Używasz najmniej wydajnego algorytmu do sprawdzania liczb pierwszych, zacznij od jego zmiany.
  3. Poza tym użyj, proszę https://ideone.com/4, bo podany w ten sposób kod jest ciężki do sprawdzania.
    Tu masz przykład z użyciem Twojego kodu.
    https://ideone.com/J76yUJ9