Ihr Ziel ist es festzustellen, ob eine bestimmte Zahl n
in den wenigsten Bytes eine Primzahl ist. Ihr Code muss jedoch ein einzelner Python 2- Ausdruck sein, der nur aus Zahlen besteht
- Betreiber
- die Eingangsvariable
n
- ganzzahlige Konstanten
- Klammern
Keine Schleifen, keine Zuweisungen, keine eingebauten Funktionen, nur das, was oben aufgeführt ist. Ja es ist möglich.
Betreiber
Hier ist eine Liste aller Operatoren in Python 2 , einschließlich arithmetischer, bitweiser und logischer Operatoren:
+ 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
Alle Zwischenwerte sind Ganzzahlen (oder False / True, was implizit 0 und 1 entspricht). Exponentiation darf nicht mit negativen Exponenten verwendet werden, da dies zu Floats führen kann. Beachten Sie, dass /
die Unterteilung im Gegensatz zu Python 3 //
nicht erforderlich ist.
Auch wenn Sie nicht mit Python vertraut sind, sollten die Operatoren ziemlich intuitiv sein. In dieser Tabelle finden Sie die Rangfolge der Operatoren sowie in diesem und dem folgenden Abschnitt eine detaillierte Beschreibung der Grammatik. Sie können Python 2 unter TIO ausführen .
I / O
Eingabe: Eine positive Ganzzahl n
, die mindestens 2 ist.
Ausgang: 1 wenn n
Primzahl und 0 sonst. True
und False
kann auch verwendet werden. Wenigste Bytes gewinnt.
Da es sich bei Ihrem Code um einen Ausdruck handelt, handelt es sich um ein Snippet, bei dem der Eingabewert als gespeichert n
und die gewünschte Ausgabe ausgewertet wird.
Ihr Code muss für n
beliebig große Systemgrenzen funktionieren. Da der Ganzzahltyp von Python unbegrenzt ist, sind den Operatoren keine Grenzen gesetzt. Es kann jedoch lange dauern, bis Ihr Code ausgeführt wird.