При длинном умножении , после умножения чисел, вы получаете частичные продукты, в этом вызове вы получите эти частичные продукты.
Поскольку длинное умножение является длинным, чтобы компенсировать ваш код, оно должно быть максимально коротким.
Примеры
34, 53
102, 1700
48, 38
384, 1440
361, 674
1444, 25270, 216600
0, 0
0
1, 8
8
Характеристики
- Ввод / вывод может быть в любом приемлемом формате, таком как массив, разделенная запятыми строка (или любой другой разделитель, который не является цифрой), список, аргументы функции и т. Д.
- Частичные продукты должны быть в порядке возрастания.
- Если частичный продукт есть
0
, вы можете выбрать, хотите ли вы выводить его или нет.
Это код-гольф, поэтому выигрывает самый короткий код в байтах!
code-golf
arithmetic
Downgoat
источник
источник
12, 102
? Большинство ответов, кажется, возвращаются24, 0, 1200
.24, 0, 1200
в порядке. ЯОтветы:
Желе, 10 байт
Попробуйте онлайн!
Как это устроено
источник
Pyth, 12 байт
Тестирование
Вводит новую строку отдельно, например
Объяснение:
источник
JavaScript (ES7), 48 байт
ES6 (56 байт)
объяснение
Возвращает массив частичных произведений в виде чисел.
Тестовое задание
Тест использует
Math.pow
вместо того,**
чтобы заставить его работать в стандартных браузерах.Показать фрагмент кода
источник
Луа,
7268 байтисточник
APL, 21 байт
Это двоичная функция, которая принимает целые числа слева и справа и возвращает массив. Чтобы вызвать его, назначьте его переменной.
Объяснение:
источник
⍎¨⍕
довольно умный05AB1E , 15 байтов
Код:
Объяснение:
источник
Pyth, 26 байт
Это определяет функцию так
c
, что она принимает2
аргументы, и функция печатает частичные продукты.источник
MATL , 18 байт
Компилятор (5.1.0) работает в Matlab и Octave.
Каждый номер вводится в отдельной строке.
пример
объяснение
источник
Haskell,
605754 байтаНа 5 байт меньше
.show
), если я могу взять второе число в виде строки.Пример использования:
g 361 674
->[1444,25270,216600]
.Умножьте каждую цифру на реверсе
y
сx
и масштабируйте10^i
гдеi = 0,1,2,...
.Редактировать: Спасибо @Mauris за 3 байта!
источник
(\b->(x*10^b*).read.pure)
.Юлия,
5049 байтовЭто функция, которая принимает два целых числа и возвращает массив целых чисел.
digits
Функция возвращает массив цифр в целочисленном входном в в обратном порядке. Получим индекс, значение пары с помощьюenumerate
и вычисляем частичные произведения как первый ввод, умноженный на число раз 10, возведенное в степень индекса цифры - 1.Спас Байт благодаря Денису!
источник
Python 2, 61
источник
CJam,
1917 байтПринимает ввод, причем первый элемент является целым числом, а второй - строкой (например,
34 "53"
). Предложения приветствуются, так как я уверен, что они могут быть короче. Спасибо Деннису за сохранение двух байтов.Попробуйте онлайн.
объяснение
источник
~~A@#**
сохраняет пару байтов.Haskell, 37 байт
Нет строковых, просто арифметика. Рекурсивно прибавляет наименьшее частичное произведение к остальному, где последняя цифра
b
усекается и применяется множитель 10. Приоритет оператора работает хорошо.источник
𝔼𝕊𝕄𝕚𝕟, 11 символов / 23 байта (неконкурентные)
Try it here (Firefox only).
Нашел ошибку при кодировании решения этой проблемы ...
объяснение
источник
Japt , 28 байт
Объяснение:
источник
ApY+1 /10
вместоApY
, потому чтоAp0
(то есть 10 ^ 0) дает 100. Я думаю, это по причине разрешить быстрый квадрат сAp
, но0
не означает «без аргументов». Плз исправить, эт.Python 2, 42 байта
Нет строковых, просто арифметика. Рекурсивно добавляет наименьший частичный продукт к остальным, где последняя цифра
b
усекается и применяется множитель 10.источник