«Нобелевская премия по математике была присуждена профессору из Калифорнии, который обнаружил новый номер! Число Блен, которое, как он утверждает, принадлежит от 6 до 7». - Джордж Карлин
В этом задании вы распечатаете все целые числа включительно в заданном диапазоне ввода. Печатайте числа в порядке возрастания или убывания в соответствии с порядком их ввода. То есть для ввода [n1, n2]
выведите восходящий if n1 < n2
, нисходящий if n1 > n2
.
Поскольку bleen
теперь это целое число, его можно использовать как ввод. Он также должен быть включен в выходные данные, между 6
и 7
где это применимо. Также обратите внимание, что -bleen
существует между -7 и -6.
вход
Два целых числа [n1, n2]
в диапазоне [-10, 10] включительно через выбранный вами язык программирования.
(Ввод также может содержать bleen
и -bleen
!)
Выход
Выведите все целые числа, начиная с n1
и заканчивая n2
, включая недавно обнаруженные значения bleen
между 6 и 7. Вывод может быть диапазоном разделенных символами чисел в той или иной форме, поддерживаемой вашим языком, то есть через запятую или через пробел. Одно конечное пространство вывода в порядке.
Примеры
Input: 1 10
Output: 1 2 3 4 5 6 bleen 7 8 9 10
Input: -9 -4
Output: -9 -8 -7 -bleen -6 -5 -4
Input: -8 bleen
Output: -8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen
Input: 9 1
Output: 9 8 7 bleen 6 5 4 3 2 1
Input: 2 -bleen
Output: 2 1 0 -1 -2 -3 -4 -5 -6 -bleen
Input: -bleen 0
Output: -bleen -6 -5 -4 -3 -2 -1 0
Input: bleen bleen
Output: bleen
Input: 2 2
Output: 2
Дополнительные примечания
Вы можете написать программу или функцию и использовать любой стандартный метод получения ввода и предоставления вывода.
Вы можете использовать любой язык программирования , но стандартные лазейки не допускаются.
Это код-гольф , поэтому самый короткий действительный ответ - измеренный в байтах - выигрывает.
Ответы:
Python 3,
132130 байтПринимает данные в следующем формате:
источник
[-10,10]
?bleen=7/m
для прояснения без штрафа персонажаeval
переводаbleen
в правильное значение.Рубин,
11410098 байтВвод представляет собой массив с
[n1, n2]
. (Если это должно быть два отдельных аргумента, +1 байт, чтобы изменить функцию arg сg
на*g
. Bleen должен быть строкой"bleen"
. Выводит массив диапазона. но я также отыграл еще 7 после этого.Попробуйте онлайн.
Оригинальная полная версия программы, которая читает входные данные из
ARGV
:источник
.map &:to_s
и сохранить 6 байтов, и вы можете сохранить еще один, изменив инициализациюa
наa=*-10..10;a[4,0]=?-+b;a[18,0]=b
.->*g{b='bleen';a=*-10..10;a[4,0]=?-+b;a[18,0]=b;x,y=g.map{|v|a.index v};puts y<x ?a[y..x].reverse: a[x..y]}
Pyth , 35 байтов
Тестирование.
Первая часть, т.е.
K++L\-P_J++`M7"bleen"`M}7TJ
генерирует этот массив:а затем сохраняет его в
K
.Вторая часть, т.е.
@LK}FxLK
находит подсписок, указанный входными данными.источник
Python 3,
157145123108115139161158153 байтаСохранено 22 благодаря Линн. 17 спасено благодаря shooqie. 3 спасены благодаря ljeabmreosn. 5 спасен благодаря Джеффу Риди.
Ввод как
'-10', '8'
. Советы приветствуются для начинающих.Добавлено 7 для учета
-bleen
. Добавлено 15 для учета обратного ввода, как'8','-10'
. Добавлена большая 21, чтобы учесть обратные знаки ввода дляbleen
против-bleen
.источник
l.index('-6')
аl.index('7')
должны быть просто постоянными, нет?l=[str(i)for i in range(-10,11)]
->l=list(map(str,range(-10,11)))
l=list(range(-10,11))
работает так жеfor i in(4,18):l.insert(i,'bleen')
.'bleen'
а не'-bleen','bleen'
Рубин, 141 байт
Ungolfed
источник
Пакет,
239186 байтРаботает, повторяя цикл от и
3*%1
до3*%3
и затем деля на три и печатая числа без остатка, однако установкаbleen
этого магического числа вызывает переполнение целых чисел, и20
вместо этого используется значение . Это затем распечатывается в соответствующей точке цикла.источник
-bleen
тоже забыл . Ба.bleen.bat bleen -bleen
возможно?JavaScript (ES6), 158
Хороший вызов, трудно в гольф. Вероятно, методы диапазона, используемые в ответах Python и Ruby, могли бы быть лучше даже в JS.
Меньше гольфа
Контрольная работа
источник
Swift 2.2, 342 байта
Проверьте это с помощью IBM Swift Sandbox
Ungolfed
источник
Java, 271 байт
Разоблачен тестовыми примерами:
Звоните б (начало, конец). Поскольку параметры являются строками, их преобразование в целые занимает много места. По сути, программа рассматривает 7 и -7 как отбеливание и отбеливание.
источник
p
может быть изменен на следующий , чтобы сохранить 6 байт:int p(String w){int x=w.length(),i;if(x>3)return x<6?7:-7;i=Integer.decode(w);return i<-6?i-1:i>6?i+1:i;}
. Кроме того, вы можете заявить, что это Java 7 и, возможно, добавить идеон .Java 7, 251 байт
Другой подход, который короче, чем уже существующий ответ Java 7 .
Кроме того, к сожалению, параметры потенциально не в порядке, что добавляет несколько байтов, чтобы поменять их местами.
Ungolfed и тестовые случаи:
Попробуй это здесь.
Выход:
источник
Scala, 223 байта
источник
JavaScript (ES6), 178 байт
Попробуй
РЕДАКТИРОВАТЬ: Исправление для обратного заказа. Спасибо Патрик, пропустил это условие
источник
Python 3, 126 байт
Ввод в форме
-5, 'bleen'
источник
R ,
110107 байтСпасибо Cyoce за игру в гольф 3 байта.
Строит весь список по порядку, выбирает соответствующие. Функция в середине, названная «b», казалась самым простым способом сделать это. Применить, и т.д.
источник
Javascript (с использованием внешней библиотеки) (343 байта)
Ссылка на lib: https://github.com/mvegh1/Enumerable
Скриншот:
источник
Python 2, 100 байт
Первые четыре строки генерируют список
[-10, -9, -8, -7, 'bleen', -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 'bleen', 7, 8, 9, 10]
. Следующая строка получает данные и сохраняет их вs
иe
. Последние две строки используют.index()
и обозначение списка срезов, чтобы получить правильный диапазон.Работает так же, как ответ Leaky Nun, но развивается независимо. Украл метод ввода из orlp.
Ungolfed:
источник
-7
и-6
есть-bleen
, а неbleen
. Хотя мы нашли новое число, основные правила алгебры должны оставаться постоянными:0
это единственное число, которое является его собственным аддитивным обратным, в силу того, что оно является аддитивным единичным элементом. Кроме того,eval(input())
толькоinput()
в Python 2.