37 / 77
Jan 2016

Daj linka do ideone, albo wklej kod w tagach dostepnych pod ctrl +k. Bo teraz jest tak "pocięty" że nie widać co jest z nim nie tak.

Funkcja pierw nic nie zwraca w przypadku gdy trafi na liczbę pierwszą, więc program się zatrzymuje. Popraw to i usuń linka oraz kod bo ci zaliczy.

16 days later

Mógłby mi ktoś powiedzieć co jest nie tak z tym kodem?

Z góry dzięki... sig <3

Sprawdza ci tylko podzielność przez 2, jak nie jest podzielna to else drukuje "TAK" i kończy pętlę bez sprawdzenia podzielności przez 3 i dalej.

Witam, mógłby ktoś dać jakąś wskazówkę?

include

  > using namespace std;
  > int main()
  > {
  >         int n,x;

  >         cin >> n;
  >         int tab [n];
  >         for (int i=0; i<n; i++)
  >         {   cin >> x;
  >             tab[i]=x; }

  >         for (int i=0; i<n; i++)
  >         {
  >         for (int a=2; a<n; a++)
  >         {
  >             if (tab[i]%a==0)
  >                 cout << "NIE" << endl;
  >             else
  >                 cout << "TAK" << endl;
  >         }}
  >      return 0;
  > }

No przede wszystkim nie sprawdzasz podzielności do ilości liczb pierwszych tylko do liczby, Po co zmienna x? Można wpisać prosto do tablicy, która tak przy okazji jest niepotrzebna. Zmień układ pętli, dla znalezionego dzielnika przerwij pętlę i zajmij się wypisaniem (jakiś bool może pomóc albo coś). Bo jak na to na razie patrzę to nie działa to chyba zbyt dobrze.

Dzięki za radę! smiley wymyśliłem już trochę inny sposób i sędzie zaakceptował smiley jestem nowy i mam pytanie, czy umieszczać tutaj mój kod (gotowca), w kontekście pomocy innym?

Nie. Kody po AC, nawet te błędne i nie będące jakąkolwiek podpowiedzią, usuwaj.

Będę bardzo wdzięczny jeżeli powie ktoś co robię
nie tak i ewentualnie udzieli porady
edit:
Dziękuje za pomoc smile

W tej pętli powinno być <=... <- co wynika z definicji liczb pierwszych (przez jeden i przez samą siebie)...

Hej, mam problem, sędzia nie przyjmuje, a wynik jest OK, czy ktoś mógłby pomóc:

Już naprawiłem, zamiast wczytywać kolejne liczby, generowałem je losowo..
Pozdrawiam

10 months later
3 months later

Witam.
napisałem 2 programy na liczby pierwsze i nie przeszły akceptacji. Nie wiem w czym jest problem. prosiłbym o wskazówki.
1 program zawiera błąd. Nie wiem jaki.
kod zatwierdzony - zgodnie z zasadami musiałem usunąć kod

2 program za długo liczy.

test = int(input('Input:\n'))
tab = []
count = 0
while test > count:
    liczba = int(input())
    tab.append(liczba)
    count += 1
print('\nOutput:')
for n in tab:
    p = 2
    if n == 1 or n == 0:
        print('NIE')
    while p <= n:
        if p == n:
            print('TAK')
            break
        elif n % p == 0:
            print('NIE')
            break
        p += 1

Z pierwszego programu pousuwałem zbędne print-y, i mi zaliczyło. Pamiętaj że sprawdza komputer, jeśli więc wypiszesz cokolwiek czego niema w specyfikacji wyjścia, dostaniesz błędną odpowiedź.

ps nie zapomnij usunąć kodów z forum jak ci też zaliczy

Witam
W programie 1 zastąpiłem input() instrukcja randint(1,10000). losowa wybiera ilość testów i liczby. pozbyłem się ostatniego printa nadal mi nie chce zatwierdzić zadania.

Czemu i po co!?
Zmień z powrotem na tak jak było - >> zmień randint na input(), oraz popraw tylko to, o czym napisał Ci @sig

Dziękuje za pomoc. Usunąłem zbędne printy i zadziałało. Bez podpowiedzi nie zrobiłbym tego zadania.

Witam.
Nie będę oryginalny, nie wiem dlaczego nie zatwierdza mi programu.
Proszę o wskazówki.
EDIT:
Dziękuję za nakierowanie, samo sprawdzanie zakresu danych nie było problemem, ale zły zakres tego sprawdzania.
Gdzieś wyżej przeczytałem, żeby usuwać kod, tak też więc robię.