136 / 277
Feb 2018

Wydaje mi się, że kod działa, jednak nie jest akceptowany. Gdzie leży przyczyna?

`#include

using namespace std;

int main()
{
int n, d;
cin>>d;
for(int j=1; j<=d; j++)
{
while(cin >> n)
{

    if(n==1){
        
        break;
    }
    bool pierwsza = true;
    for(int i=2; i*i<=n; i++)
    {
        if(n%i==0){ 
            pierwsza = false;
        }
    }

if(pierwsza==true){
    cout << "TAK" << endl;
}
else{
    cout << "NIE" << endl;
}
}
}
return 0;

}`

Albo źle przekopiowałeś albo na samym początku nie masz “#include” - nie dodałeś biblioteki chociażby w celu użycia cin/cout. Używaj ideone. Na pierwszy rzut oka widać, że twoja pętla jest źle wykonana. Sprawdź dodatkowo co się stanie jak wprowadzisz 0 albo 1 jako liczbę do sprawdzenia.

Bardzo dziekuje, po dodaniu biblioteki i cout “NIE” dla wartosci <=1 kod zaakceptowany:)

Możesz przyspieszyć program (jeśli używasz cin i cout, a nie scanf i printf) dodając na początku funkcji main() dwie linijki kodu, a mianowicie: cin.tie(NULL);ios_base::sync_with_stdio(0);
Mi się udało w ten sposób zejść z 0.16s do 0.01 :wink:

Jestem tu nowy i niestety napotkałem problem przy pierwszym zadaniu. Niestety nie wiem czemu program mi nie działa. Jeśli ktoś mógł by mi podpowiedzieć co robię nie tak bym był wdzięczny

to może po prostu popatrz na wynik testu podany w zadaniu i na wynik twojego programu
albo jeszcze raz przeczytaj dokładnie treść zadania

z przeprowadzonych testów za każdym razem wyrzuca mi prawidłową odpowiedź dlatego nie wiem czemu nie chce mi przejść

Nie wyrzuca. W zasadzie nie masz ani jednej prawidłowej odpowiedzi. Przypatrz się uważnie - co masz wyświetlić, a co wyświetlasz.

Coś się chyba źle skopiowało. Wszystkie odp są prawidłowe więc wklejam rezultat. Może jest jakiś problem z wklejaniem.

Czy jeżeli będę trzecią osobą, która powie Ci, że Twój output jest różny od outputu w treści zadania, poprawisz oczywisty błąd?

cZWARTY, tzn czwarty, a może cZwArTy albo CzWaRtY albo Czwarty a jeżeli Ci nie [z]robi różnicy to może nawet CZWARTY! :wink:

Z treści przecież wynika że jeśli liczba jest pierwsza to wyjście jest Tak a jeśli nie jest pierwsza to wyjście Nie. Można jaśniej a później pośmieje się z wami.

Dla każdej liczby słowo TAK …

Czxy TAK == Tak czy NIE czy Nie czy nie?

PS
sorry, za ; - ), ale nie był źłośliwy :wink:

Ech język polski mnie przytłacza :slight_smile: poprawiłem i nadal mi nie przechodzi może jeszcze jedna podpowiedź

Ale co?
Dalej masz “Nie” i “Tak” zamiast “NIE” i “TAK”.

Użyj wszędzie: “NIE” i “TAK”

a nie: “Nie” i “Tak”

Dzięki nigdy bym tego nie zauważył. Myślałem że to coś poważniejszego

1 month later
#include <iostream>

using namespace std;
int liczba,tak_nie;
int main()
{
    cout << "Czy podana liczba jest pierwsza" << endl;
    cin>>liczba;
    if(liczba==3)
    {
    tak_nie=0;
    }
    if(liczba==1)
    {
    tak_nie=1;
    }
    for(int i=2;i<=liczba/2;i++)
    {
    if(liczba%i!=0)
    {
    tak_nie=0;
    }
    else
    {
    tak_nie=1;
    break;
    }
    }
    if(tak_nie==0) cout<<"Tak"<<endl;
    if(tak_nie==1) cout<<"Nie"<<endl;
    return 0;
}

najpierw przeczytaj punkty od 1 do 5 z TU

czy przeczytałeś dokładnie treść zadania ?

czy przetestowałeś działanie tego programu ?

czy wynik dla danych testowych podanych w zadaniu jest taki sam jak podano w zadaniu ?

jeżeli nie wiesz jak to zrobić, sprawdź działanie twojego programu na ideone.com6

@nikt_nikogo Przeczytaj cały wątek powyżej, wszystko jest już napisane co masz źle.

Mnie ten link pod TU nie działa.