Вступ:
Думаю, ми всі про це чули, але ось дуже короткий підсумок: Ной зібрав два з усіх видів тварини на планеті, чоловіка та самку, щоб врятувати його в Ковчезі під час великої повені. Фактична цитата з Біблії:
Буття 7: 2-3
Ви повинні взяти з собою сім усіх видів чистої тварини, самця та його напарника, два з усіх видів нечистої тварини, самця та його товариша, а також сім усіх видів птахів на небі , чоловіки та жінки, щоб зберегти своє потомство на земній ділянці.
джерело
Але заради цього виклику ми будемо ігнорувати чисту / нечисту частину та ту частину, де він взяв по сім кожної тварини. Ця проблема стосується лише цієї частини:
два з усіх видів
нечистоїтварини, самець та його товариш
Виклик:
Вхід:
Вам надається список натуральних чисел (у випадковому порядку).
Вихід:
Два різних значення, що вказують на те, чи це "Список Ноя" чи ні. Це не обов'язково має бути значення truthy / falsey , тому може бути 0
/ 1
в Java / C # або 'A'
/'B'
наводити деякі приклади будь-якою мовою.
Коли список - це "Список Ноя"? Коли в списку є рівно два з кожного цілого числа.
Правила виклику:
- Введення / виведення гнучко. Введенням може бути список / масив / потік цілих чисел / поплавків / рядків або зчитування їх по одному з STDIN. Вихід може бути будь-якими двома різними значеннями, що повертаються з функції або виводяться в STDOUT / файл.
- Цілі числа у вхідному списку розташовані у випадковому порядку і гарантуються, що вони будуть додатними у межах .
- Гарантовано, що список вхідних даних не буде порожнім.
- Маючи ціле число, кратне в два рази, присутнє вище 2 (тобто 4, 6, 8 і т.д.), буде фальсією. Тобто
[6,4,4,6,4,7,4,7]
це falsey, хоча ще можна було створити рівні пари , як це:[[4,4],[4,4],[6,6],[7,7]]
.
Загальні правила:
- Це код-гольф , тому найкоротша відповідь у байтах виграє.
Не дозволяйте мовам коду-гольфу відштовхувати вас від публікації відповідей з не кодовими гольф-мовами. Спробуйте придумати якомога коротшу відповідь на "будь-яку" мову програмування. - Для вашої відповіді застосовуються стандартні правила з правилами вводу / виводу за замовчуванням , тому вам дозволяється використовувати STDIN / STDOUT, функції / метод із відповідними параметрами та повним програмами типу повернення. Твій дзвінок.
- Лазівки за замовчуванням заборонені.
- Якщо можливо, додайте посилання з тестом для вашого коду (тобто TIO ).
- Також настійно рекомендується додавати пояснення до своєї відповіді.
Тестові приклади:
Truthy:
[7,13,9,2,10,2,4,10,7,13,4,9]
[1,2,3,1,2,3]
[10,100,1000,1,100,10,1000,1]
[123,123]
[8,22,57189,492,22,57188,8,492,57188,57189,1,1]
Falsey:
[6,4,4,6,4,7,4,7]
[2,2,2,2,2,2]
[5,1,4,5,1,1,4]
[77,31,5,31,80,77,5,8,8]
[1,2,3,2,1]
[44,4,4]
[500,30,1]
[1,2,1,1]
[2,4,6,4,4,4]
[2,23,34,4]
[2,23,3,3,34,4]