Вступление
В качестве примера возьмем номер 7
. Затем мы дублируем это и помещаем 7 пробелов между ними. Мы получаем это:
7_______7
После этого мы будем уменьшать число, пока не останется пробелов. Мы получаем следующее число 7:
7_______7
6543210
Затем мы просто объединяем их так:
7_______7
6543210 becomes
765432107
Это будет выходной для N = 7 .
Выглядит просто, правда? Теперь давайте возьмем N = 12 . Мы снова вставляем 12 пробелов между двумя числами, что дает нам:
12____________12
Затем мы начинаем декремент:
12____________12
111098765432
И это, наконец, дает нам:
1211109876543212
Как видите, нисходящая часть заканчивается на 2, а не на 0 .
задача
Если задано целое число больше 1 , выведите нисходящую последовательность, как показано выше.
Контрольные примеры
Input Output
2 2102
3 32103
4 432104
5 5432105
6 65432106
7 765432107
8 8765432108
9 98765432109
10 10987654321010
11 111098765432111
12 1211109876543212
13 13121110987654313
14 141312111098765414
15 1514131211109876515
20 201918171615141312111020
99 9998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150499
100 1009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150100
Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!
Ответы:
CJam,
1110 байтПопробуйте онлайн. Предполагается, что во вводе есть завершающий символ новой строки. (Спасибо @ jimmy23013 за сохранение байта.)
объяснение
В конце каждой строки показано, как выглядит стек в этой точке (
4
в качестве примера).источник
Юлия, 30 байт
Это анонимная функция, которая принимает целое число и возвращает строку. Чтобы вызвать его, присвойте его переменной.
Мы строим и соединяем нисходящую последовательность от n -1 до 0 и берем первые n символов из полученной строки. Мы добавляем и добавляем это в качестве строки.
Проверьте все тестовые примеры онлайн
источник
Haskell, 44 байта
Пример использования:
f 14
->"141312111098765414"
.источник
JavaScript (ES6),
5552 байтаРедактировать: 3 байта сохранены благодаря @WashingtonGuedes.
источник
.keys()
..keys()
это как.reduce
.Python 2,
82725853 байтаПопробуй это здесь!
Спасибо @Alex за то, что научили меня, что
repr(x)
=`x`
спасли мне кучу байтов!источник
Pyth, 11 байт
Две альтернативные версии, которые также являются 11 байтами ( вздох ):
Попробуй это здесь.
источник
Japt, 13 байт
Проверьте это онлайн!
Как это устроено
источник
Желе, 10 байт
Попробуйте онлайн!
Как это устроено
источник
Сетчатка , 98
110Самый длинный ответ до сих пор: - /
Попробуйте онлайн.
источник
Витси, 35 байт
Поскольку Витси не знает, как сделать строки из чисел, я реализовал поиск длины числа в десятичных разрядах во второй строке.
Объяснение:
Попробуйте онлайн!
Подробный режим для lols:
источник
L
, исправляя это сейчас (хотя вопрос не будет обновляться).public static void
методы. Основное завершает программу, когда она закончена. Что касается того, как это происходит, инструкции содержатся в типеArrayList<ArrayList<String[]>>
, где каждая строка представляет собойString[]
. Каждый метод разделяется на новой строке по тому, как загружается файл, в результате чего основной метод отделяется от всех других методов.String
s - это инструкции,String[]
s - это методы (первый метод main), аArrayList<String[]>
s - классы (первый класс main), верно?Чистый Баш, 49
Или:
Bash + coreutils, 48
источник
12
, затем первые 12 символов11..0
(или111098765432
), и, наконец,12
Сетчатка, 63 байта
Есть еще достаточно места для игры в гольф ...
Попробуйте онлайн!
источник
$0
in$0$*
необязательной, когда предыдущий токен является литералом, который не является числом (как у васy
) ... видя это, я мог бы реализовать это на самом деле.MATL , 15 байт
РЕДАКТИРОВАТЬ (20 мая 2016 г.) Код в ссылке используется
Xz
вместоXv
, в связи с недавними изменениями в языке.Попробуйте онлайн!
источник
Java, 93 байта
источник
Рубин, 41 байт
источник
Млечный Путь 1.6.5 ,
2725 байтобъяснение
использование
источник
I'::%{K£BCH=}<OHG<+<;+!
в кодированный файл UTF-8, но это не работает.Perl 6 , 31 байт
Использование:
источник
Perl, 43 + 2 = 45 байт
Я рад , что я не использовал
reverse
и ниsubstr
:Требуются
-pl
флаги.Как это устроено:
источник
C
130125 байтНедолговечная версия (с пояснениями):
Неявное приведение от double к int
h=floor(...)
позволяет использовать#define p(x)
5 байтов.Тест на идеоне.
источник
R, 67 байт (как функция)
R, 63 байта (входные данные из STDIN)
источник
Brainfuck, 265 байт
Это будет работать только с числами <10
Попробуйте версию для гольфа здесь :
Ungolfed. Попробуйте это здесь :
источник
,>>++++++[<++++++++>-]<[-<->]<
Это может вычесть 48 с более короткой длиной кода