Введение:
Я думаю, что мы все слышали об этом, но здесь очень краткое резюме: Ной собрал два из всех видов животных на планете, мужского и женского пола, чтобы спасти в своем Ковчеге во время большого наводнения. Фактическая цитата из Библии:
Бытие 7: 2-3
Вы должны взять с собой семь всевозможных чистых животных, самцов и их помощников, два всевозможных нечистых животных, самцов и их помощников, а также семь всевозможных птиц в небе мужчина и женщина, чтобы сохранить их потомство на лице земли.
источник
Но ради этого испытания мы будем игнорировать чистую / нечистую часть и часть, где он взял семь каждого животного. Эта проблема только об этой части:
два из каждого вида
нечистогоживотного, мужчина и его помощник
Вызов:
Входные данные:
Вам дан список целых положительных чисел (в случайном порядке).
Выход:
Два разных значения, указывающие, является ли это «Список Ноя» или нет. Это необязательно должно быть значением true / 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]