Codegolf - Вычислить Сумму Цифр

  • Автор темы HurnEnritte18
  • Обновлено
  • 21, Oct 2024
  • #1

Ваша задача — получить два числа и вывести их сумму цифр. Мы определим сумму цифр следующим образом:

  • возьми десятичный (по основанию 10) цифры каждого из них и дополняют нулями самое короткое число (например, [1,9], [0, 7])
  • суммировать цифры как векторы (например, [1, 16])
  • преобразуйте число обратно из базы 19 и выведите его (например, 1*19+16=35)

Вход

Вы можете принять входные данные в виде двух чисел, в виде списка, содержащего их оба, или в любом другом разумном формате (например, массив цифр). Вы можете предположить, что самое короткое число дополнено нулями, чтобы оно соответствовало длине более длинного.

Выход

Вы можете вывести сумму цифр в любом разумном формате.

Тестовые случаи

 1, 2 -> 3
5, 10 -> 24
42, 32 -> 137
15717, 51358 -> 826819
1000, 1 -> 6860
 

объяснение 5, 10: это цифры [0, 5] и [1, 0]. Их сумма равна [1, 5], что при преобразовании из системы счисления 19 дает 24.

Подсчет очков

Это кодовый гольф, поэтому побеждает самый короткий ответ, удачи!

#код-гольф #математика #число

HurnEnritte18


Рег
04 Feb, 2007

Тем
65

Постов
205

Баллов
580
  • 26, Oct 2024
  • #4

Питон, 30 байт

siR19

Безымянная функция, принимающая две строки десятизначных символов и возвращающая целое число.

Попробуйте онлайн!

 

Dorowa


Рег
31 Oct, 2007

Тем
62

Постов
207

Баллов
527
  • 26, Oct 2024
  • #8

Язык Wolfram (Математика), 24 байта

a->b->a.valueOf(""+a,19)+a.valueOf(b,19)

Безымянная функция, принимающая на вход список, содержащий два списка цифр. Суть здесь в том, что сначала преобразование в базу 19, а затем добавление означает, что заполнение слева не требуется.

Попробуйте онлайн!

 

Eljjdugiecdf69


Рег
25 Oct, 2024

Тем
68

Постов
194

Баллов
554
  • 26, Oct 2024
  • #12

К (ОК), 5 байт

Решение:

⍘S¹⁹ Convert the input from base 19 E² Repeated twice IΣ Summed and output in decimal

Попробуйте онлайн!

Объяснение:

Принимает входные данные в виде двух списков цифр. Предполагается, что более короткое число дополнено нулями.

IΣE²⍘S¹⁹ ||answer||

Древесный уголь, 8 байт

19/+/ / the solution +/ / sum 19/ / decode from base 19

Попробуйте онлайн! Ссылка на подробную версию кода. Принимает входные данные в виде двух строк. Объяснение:

19/+/ ||answer||

округ Колумбия, 47 байт

s;m;f(a,b){for(s=m=1;a+b;a/=10,b/=10,m*=19)s+=(a+b)*m;s--;}

Попробуйте онлайн!

Или проверьте все тестовые примеры онлайн.

Ввод осуществляется на стандартный ввод (два числа в одной строке, разделенные пробелом).

Вывод осуществляется на стандартный вывод.


Эта программа использует хорошую возможность в echo $[19#$1+19#$2] , where the single-character command Total@PadLeft@#~FromDigits~19& вычислю оба частное и остаток в операции деления.

 

Preerarex


Рег
25 Feb, 2012

Тем
76

Постов
195

Баллов
605
  • 26, Oct 2024
  • #14

PHP, 75 байт

ì19

Попробуйте онлайн!

Как это часто бывает, получение аргументов и долларов делает PHP самым длинным ответом :D, но я доволен этим

Принимает ввод в виде строк, уже дополненных нулями.

 

Яна Тарелко


Рег
24 Oct, 2020

Тем
75

Постов
191

Баллов
566
  • 26, Oct 2024
  • #16

Пиф, 7 6 5 байт

Принимает входные данные в виде двух списков цифр. Предполагается, что более короткое число дополнено нулями.

lambda a,b:int(a,19)+int(b,19)

Попробуйте онлайн!

ḅ19S ||answer||

Руби, 24 байта

+/

Принимает массив из двух строк.

Попробуйте онлайн!

 

Framestar72


Рег
19 Apr, 2009

Тем
76

Постов
198

Баллов
608
  • 26, Oct 2024
  • #17

Брахилог, 6 байт

19#.

Попробуйте онлайн!

Принимает входные данные в виде списка цифр, но для удобства заголовок тестирования преобразуется из одиночных целых чисел.

 

Judovlad


Рег
06 Apr, 2007

Тем
72

Постов
181

Баллов
551
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно