Amacınız verilen bir sayının n
en az baytta asal olup olmadığını belirlemektir . Ancak, kodunuz yalnızca aşağıdakilerden oluşan sayılar üzerinde tek bir Python 2 ifadesi olmalıdır
- operatörler
- giriş değişkeni
n
- tamsayı sabitleri
- parantez
Döngü yok, atama yok, yerleşik işlev yok, yalnızca yukarıda listelenenleri. Evet mümkün.
Operatörler
İşte Python 2'deki aritmetik, bitsel ve mantıksal işleçleri içeren tüm işleçlerin bir listesi :
+ 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
Tüm ara değerler tamsayılar (veya 0 ve 1'e tamamen eşit olan False / True). Üfleme negatif kayanlarla kullanılamaz, çünkü bunlar yüzebilir. Not /
Python 3 farklı olarak zeminden bölünmesini yapar, böylece //
gerekli değildir.
Python'u tanımasanız bile, operatörler oldukça sezgisel olmalıdır. Dilbilgisinin ayrıntılı bir belirtimi için operatör önceliği ve bu bölüm ve altındaki bu tabloya bakın . Şunları yapabilirsiniz TIO üzerinde Python 2 koşmak .
I / O
Giriş:n
En az 2 olan pozitif bir tamsayı .
Çıktı: Eğer n
asal ise 1 , aksi takdirde 0. True
ve False
ayrıca kullanılabilir. En az bayt kazanır.
Kodunuz bir ifade olduğundan, bir snippet olacaktır, giriş değerini olarak depolanan n
ve istenen çıktısını değerlendirir.
Kodunuz, n
keyfi olarak büyük, bir kenara sistem sınırları için çalışması gerekir . Python'un tam sayı türü sınırsız olduğundan, operatörlerde sınır yoktur. Kodunuzun çalışması uzun sürebilir.