Twoim celem jest ustalenie, czy dana liczba njest liczbą pierwszą w najmniejszej liczbie bajtów. Ale twój kod musi być pojedynczym wyrażeniem Python 2 na liczbach składających się tylko z
- operatorzy
- zmienna wejściowa
n - stałe całkowite
- zdanie wtrącone
Bez pętli, bez przypisań, bez wbudowanych funkcji, tylko to, co wymieniono powyżej. Tak, to możliwe.
Operatorzy
Oto lista wszystkich operatorów w Pythonie 2 , które obejmują operatory arytmetyczne, bitowe i logiczne:
+ adddition
- minus or unary negation
* multiplication
** exponentiation, only with non-negative exponent
/ floor division
% modulo
<< bit shift left
>> bit shift right
& bitwise and
| bitwise or
^ bitwise xor
~ bitwise not
< less than
> greater than
<= less than or equals
>= greater than or equals
== equals
!= does not equal
Wszystkie wartości pośrednie są liczbami całkowitymi (lub False / True, które domyślnie wynoszą 0 i 1). Potęgowanie nie może być stosowane z wykładnikami ujemnymi, ponieważ może to powodować liczby zmiennoprzecinkowe. Zauważ, że dzieli /podział podłogi, w przeciwieństwie do Pythona 3, więc //nie jest potrzebny.
Nawet jeśli nie znasz języka Python, operatory powinny być dość intuicyjne. Patrz tej tabeli operatorów, i tym odcinku i poniżej w szczegółowym opisie gramatyki. Możesz uruchomić Python 2 na TIO .
I / O
Dane wejściowe: dodatnia liczba całkowita, nktóra wynosi co najmniej 2.
Wyjście: 1 jeśli njest liczbą pierwszą, a 0 w przeciwnym razie. Truei Falsemogą być również używane. Wygrywa najmniej bajtów.
Ponieważ twój kod jest wyrażeniem, będzie fragmentem, oczekującym wartości wejściowej przechowywanej jako ni oceniającym pożądane wyjście.
Kod musi działać nniezależnie od dowolnych, dużych limitów systemowych. Ponieważ typ liczbowy Pythona jest nieograniczony, operatorzy nie mają żadnych ograniczeń. Uruchomienie kodu może jednak zająć dużo czasu.