Рівень
Створіть програму, яка генерує масив випадкової довжини із випадковими числами, а потім застосуйте ряд правил, що змінюють масив. Після застосування правил надрукуйте суму масиву, якщо не вказано інше
Налаштування масиву
Масив повинен бути випадковою довжиною від 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 елементів?
