Ваша мета - визначити, чи задане число n
є простим у найменших байтах. Але ваш код повинен бути одним виразом Python 2 на числах, що складаються лише з
- оператори
- вхідна змінна
n
- цілих констант
- круглі дужки
Ні циклів, ні призначень, ні вбудованих функцій, лише те, що перераховано вище. Так, це можливо.
Оператори
Ось список усіх операторів Python 2 , які включають арифметичні, побітові та логічні оператори:
+ 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
Всі проміжні значення є цілими числами (або False / True, що неявно дорівнює 0 і 1). Експоненція може не використовуватися з негативними показниками, оскільки це може призвести до поплавків. Зауважте, що /
поділ на підлогу, на відміну від Python 3, //
не потрібен.
Навіть якщо ви не знайомі з Python, оператори повинні бути досить інтуїтивними. Дивіться цю таблицю щодо пріоритетності оператора та цей розділ та нижче для детальної специфікації граматики. Ви можете запустити Python 2 на TIO .
I / O
Введення: додатне ціле число n
, принаймні 2.
Вихід: 1, якщо n
є простим, а 0 - інакше. True
а False
також можуть бути використані. Виграє найменше байт.
Оскільки ваш код є виразом, він буде фрагментом, очікуючи вхідне значення, збережене як n
, і оцінку до потрібного результату.
Ваш код повинен працювати в n
сторону як завгодно великих системних обмежень. Оскільки цілочисельний тип Python не обмежений, для операторів немає обмежень. Ваш код може зайняти скільки завгодно часу.