• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SPOJ Liczby pierwsze - limit czasu

0 głosów
498 wizyt
pytanie zadane 28 kwietnia 2018 w SPOJ przez Lucash Nowicjusz (240 p.)
Witam,

Zacząłem uczyć się Pythona, w ramach ćwiczeń przerabiam programy z c++ na python, niestety na Spoju dostałem monit o przekroczonym limicie czasu.

Można tutaj coś usprawnić?

python : https://ideone.com/gxu2CA
komentarz 28 kwietnia 2018 przez adrian17 Mentor (355,180 p.)

na Spoju

Z tego co pamiętam, limity zasobów (i rankingi) na SPOJu są niezależne od języka programowania i często bywają nacelowane na rozwiązania w C, C++ie i inne języki niższego poziomu. Może się zdarzyć, że ten sam algorytm napisany w C++ie przejdzie, a w Pythonie nie. (dlatego nie lubię SPOJa)

Natomiast faktem jest, że rozwiązanie można jeszcze zoptymalizować - patrz inne odpowiedzi.

1 odpowiedź

+1 głos
odpowiedź 28 kwietnia 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)

Żeby sprawdzić czy liczba n jest pierwsza wystarczy sprawdzić czy dzieli się przez którąś z liczb [2, sqrt(n)]. Jeśli testów jest sporo to można też zaimplementować Sito Eratostenesa.

Podobne pytania

0 głosów
1 odpowiedź 855 wizyt
pytanie zadane 3 lutego 2016 w Python przez Devero Początkujący (300 p.)
0 głosów
0 odpowiedzi 408 wizyt
pytanie zadane 24 sierpnia 2020 w SPOJ przez magda_19 Gaduła (3,080 p.)
0 głosów
1 odpowiedź 640 wizyt
pytanie zadane 12 stycznia 2019 w SPOJ przez WireNess Stary wyjadacz (11,250 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,328 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...