Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Czy pobrane liczby są pierwsze? Zadanie.

Ostatnio zmodyfikowano 2019-11-25 21:23
Autor Wiadomość
elsiete92
Temat założony przez niniejszego użytkownika
Czy pobrane liczby są pierwsze? Zadanie.
» 2019-11-25 12:46:19
Witam, mam taką treść zadania:

Zadanie
Dla podanych na wejściu liczb rozstrzygnij, czy są one pierwsze, czy złożone

Wejście
W pierwszej linii wejścia znajduje się liczba t (1 <= t <= 500), oznaczająca ilość przypadków testowych. W kolejnych t liniach znajdują się liczby z przedziału <2, 2^31-1>.

Wyjście
Dla każdej liczby należy wypisać "YES" jeśli jest pierwsza, "NO" jeśli jest złożona.

Przykład
Dla danych wejściowych

6
2
3
4
5
6
7
poprawną odpowiedzią jest
YES
YES
NO
YES
NO
YES

C/C++
#include <iostream>

using namespace std;

bool pierwsza( int n );
long tab[ 500 ];

int main()
{
    int t;
   
    cin >> t;
   
    for( int i = 0; i < t; i++ ) {
        cin >> tab[ i ];
    }
    for( int i = 0; i < t; i++ ) {
        if( pierwsza( tab[ i ] ) ) {
            cout << "YES" << endl;
        } else { cout << "NO" << endl; }
    }
    return 0;
}
bool pierwsza( int n ) {
    if( n < 2 ) {
        return false; }
    for( int i = 2; i * i <= n; i++ ) {
        if( n % i == 0 ) {
            return false;
        }
    }
    return true;
}

Tak to zrobiłem, podaje poprawna wartość, jednak kompilator sprawdzający zadanie wywala błędną odpowiedź, ktoś wskaże właściwą droge?:)
P-175660
pekfos
» 2019-11-25 17:06:08
podaje poprawna wartość
1
15
YES
P-175661
elsiete92
Temat założony przez niniejszego użytkownika
» 2019-11-25 19:33:23
No tak nie sprawdziłem dokładnie, czy ktoś może mi powiedzieć gdzie jest błąd i czy można to zrobić bez tablic, by najpierw pobrać wszystkie liczby i następnie wyświetlić wynik?
P-175663
pekfos
» 2019-11-25 19:57:29
No tak nie sprawdziłem dokładnie, czy ktoś może mi powiedzieć gdzie jest błąd
To jakbyś w ogóle nie testował. Co dokładnie cię powstrzymuje przed prześledzeniem działania programu dla liczby 15?

czy można to zrobić bez tablic, by najpierw pobrać wszystkie liczby i następnie wyświetlić wynik?
Tak. I nie.
» Kurs C++ / FAQMam problem z zadaniem ze SPOJa pytanie/odpowiedź
P-175664
elsiete92
Temat założony przez niniejszego użytkownika
» 2019-11-25 21:23:58
Ok, poprawione.
P-175667
« 1 »
  Strona 1 z 1