Краткое изложение
Создайте программу, которая генерирует массив случайной длины со случайными числами, затем примените ряд правил, которые изменяют массив. После применения правил выведите сумму массива, если не указано иное.
Настройка массива
Массив должен иметь произвольную длину от 5 до 10 включительно, со случайными целыми числами от 1 до 20 включительно. Каждая длина массива должна иметь одинаковую вероятность появления, а каждое целое число должно иметь одинаковую вероятность выбора для каждого элемента.
7 правил
Правила должны действовать так, как если бы они применялись последовательно (например, правило 1 действует до правила 2) и применяются только один раз. Для подтверждения применения правила массив должен быть напечатан на консоли после каждого применения правила и один раз перед применением каких-либо правил.
- Если массив содержит 7, вычтите 1 из каждого элемента
- Если правило 1 применяется и массив теперь содержит 0, добавьте 1 к каждому элементу
- Если массив содержит 13, исключите 13 и все последующие элементы из массива
- Если массив содержит 2, исключить все нечетные числа
- Если массив содержит 20, а третий элемент четный, вернуть сумму 20 как сумму и завершить. Если присутствует 20, а третий элемент нечетный, вернуть сумму, в 20 раз превышающую длину массива в виде суммы, затем завершить.
- Если сумма больше 50, удаляйте последний элемент несколько раз, пока он не станет меньше или равен 50
- Если массив содержит 16, выведите сумму в десятичном и шестнадцатеричном виде.
пример
Вот начальный массив,
[20, 2, 5, 7, 14, 8]
Правило 1 может быть применено:
[19, 1, 4, 6, 13, 7]
Правило 3 применяется следующим образом:
[19, 1, 4, 6]
Никаких других правил не требуется, поэтому программа возвращает 30 в качестве суммы.
Заметки
- Я не опытный игрок в код, хотя могу сказать, что моя личная запись на Python 3 с 369 байтами .
- Правила не обязательно должны применяться по порядку, а должны действовать так, как будто они это сделали.
[3 3 3 3 4 3]и [4 4 3 4 4], каждый с вероятностью 50%, соответствует тому, что написано в разделе «Настройка массива». Так я могу просто выводить 19каждый раз? (Конечно, я действительно считаю, что определение «случайного» необходимо уточнить.)
If the array contains a 20, and the third element is even/oddЧто делать, если массив имеет менее 3 элементов на этом этапе?
