Войти
ФлеймФорумНаука

Конкатенация как математический оператор

Страницы: 1 2 Следующая »
#0
18:09, 11 фев. 2019

Тaк как здесь грозит зачистка, открою дискуссию тут…

Автор видео для получения числа «10958»


применил нестандартный трюк, с которым программисты имеют дело сплошь и рядом.
А именно, число он получил через выражение «1*2||3+((4*5*6)||7+8)*9=10958»…

В листингах часто приходится громоздить «x = x * 10 + n» или «x = (x << 1) | c», хотя на уровне машинного кода имеются целые готовые инструкции, типа «lea» или «adc».

ЭВМ разрабатывали инженеры-математики и ЯВУ традиционно ограничили рамками классической математики, хотя могли и не ограничивать.

Конкатенация есть всюду, только мы привыкли и не замечаем:
Есть при наборе номера телефона, есть при наборе кода домофона, есть на переключении ТВ-каналов.
Нету - в лифте, где каждый этаж на пульте в кабинке имеет свою кнопку…

Есть даже анекдот в тему конкатенации:

Заходит программист в лифт, а ему надо на 12—й этаж. Нажимает 1, потом 2 и начинает лихорадочно искать кнопку Enter. http://www.anekdotovmir.ru

P.S.: А что Вы думаете?


#1
18:21, 11 фев. 2019

Поканкатенировал, спасибо.

#2
20:01, 11 фев. 2019

Alikberov
> P.S.: А что Вы думаете?
Все операторы нужны.
Все операторы важны.

> применил нестандартный трюк, с которым программисты имеют дело сплошь и рядом.
Тем самым он нарушил условия задачи?

#3
20:25, 11 фев. 2019

Alikberov
> P.S.: А что Вы думаете?
Я ничерта не понимаю в математике, но мне кажется, что это ни разу не алгебраическая операция и толку от неё не будет. С таким же успехом можно ввести оператор перестановки цифр местами или переворот цифры чтобы из 6 получать 9 и наоборот.

#4
(Правка: 20:32) 20:31, 11 фев. 2019

RroRhBad
> Я ничерта не понимаю в математике, но мне кажется, что это ни разу не
> алгебраическая операция и толку от неё не будет. С таким же успехом можно
> ввести оператор перестановки
Ты явно недооцениваешь скоуп современной алгебры :)
https://en.wikipedia.org/wiki/Concatenation#Algebraic_properties

#5
21:40, 11 фев. 2019

Zegalur
> Ты явно недооцениваешь скоуп современной алгебры :)
Пора писать диссертацию по переворачиванию девятки.

#6
21:48, 11 фев. 2019

RroRhBad
> Пора писать диссертацию по переворачиванию девятки.
Этo тоже работает:
«5» vs «2» === «101» vs «010»;
«9» vs «6» === «1001» vs «0110».

Прослеживается инверсия «5» и «9» в «2» и «6» так же, как и их графическое переворачивание…

#7
22:05, 11 фев. 2019

RroRhBad
> Пора писать диссертацию по переворачиванию девятки.
Ну на курсовую темы около этого можно генерировать до бесконечности. Например:
"Конечно ли множество простых чисел, которые остаются простыми после переворачивания 9-к и 6-к?"

#8
4:31, 12 фев. 2019

Конкатенация числа и цифры это же просто f(x,y)=10*x+y
Два произвольных числа чуть сложнее, но смысл тот же.
Как видно операцию легко притянуть к произвольной системе исчисления, т.е. даже можно продолжать относится к числам как к числам а не строкам при любой базе.
Немного покопаться и теорем настрогать можно только в путь. Если уже не.

#9
7:07, 12 фев. 2019

=A=L=X=
> Конкатенация числа и цифры это же просто f(x,y)=10*x+y
Eсли математики придумали нижний Xn и верхний Xn индексы, могли бы придумать и средний индекс конкатенации типа Xn, чтобы не прибегать к помощи функции.

P.S.: «1*2||3+((4*5*6)||7+8)*9 = 1*23+((4*5*6)7+8)*9»

#10
14:38, 12 фев. 2019

NuclearMissile
> а верхний - это уже сокращение от вызова функции возведения в степень.
Иногда это тоже индекс.
А два разных индекса в одном выражении это ещё и сумма выражения по всем вариантам индекса.

#11
14:51, 12 фев. 2019

Есть даже такая шняга:
Изображение
https://en.wikipedia.org/wiki/Actuarial_notation

#12
13:32, 14 фев. 2019

Как раз недавно хотел вбросить тему про конкатенацию. Правда, немного про другое. Но раз так удачно стеклось, то вбросим здесь.

Как известно, сложение строк - это конкатенация. Но вычитания строк нету. Почему? Это неправильно. Нужно исправить.
Конечно, по примеру современных физегов, вычитанием можно назвать какую угодно хреновину и успокоиться. Но мы же не современные физеги. Хочется, чтобы определение носило в себе хоть какую-то логику.
Для начала обратим внимание на свойства строкового сложения (то бишь конкатенации). Оно:
а) некоммутативно в общем случае ("1" + "2" != "2" + "1"),
однако:
б) ассоциативно (("1" + "2") + "3" == "1" + ("2" + "3")),
в) имеет ноль ("any string" + "" == "any string").
В алгебре, наверное, такое множество как-то называется, и какие-то там для него свойства доказываются. Но хрен с ним - нас интересует вычитание.

По аналогии со свойствами обычного вычитания, но с поправкой на свойства сложения, приходим к выводу, что мы хотим вычитание с такими свойствами:
а) (x - y) + y == x;
б) x - x == ""
в) существует -x - такое, что x + (-x) == "", а x + (-y) == x - y
г) -(-x) == x

Добиться сего можно следующими постулатами:
- в дополнение к множеству символов, вводится множество "минус-символов". Каждому символу, условно говоря, соответствует символ с таким же кодом, но отрицательным (в том числе символу с кодом 0). Обозначим символ "минус а" записью "~a".
- минус-минус-символ - это опять обычный символ. Т. е., ~(~a) == a.
- строка может состоять как из "плюс" символов, так и "минус" символов, в любой комбинации, но:
- комбинация a~a (или ~aa) считается за пустое место. Т. е. стоящие сразу друг за другом минус-символы взаимно аннигилируются, и операция повторяется до тех пор, пока строка не приобретёт "канонический" вид.
- минус-строка определяется следующим образом: все символы исходной строки заменяются на свои минус-символы и ставятся в обратном порядке. Т. е.: -"abc" = "~c~b~a".

Введённое таким образом отрицание и вычитание строк, как нетрудно убедиться, обладает всеми интересующими нас свойствами.

Может возникнуть вопрос - а зачем?
Ну, во-первых, это красиво. (с)
Во-вторых - а это уже следующий вопрос, над которым интересно подумать.

#13
13:58, 14 фев. 2019

Sbtrn. Devil
Свободная группа

#14
(Правка: 14:40) 14:40, 14 фев. 2019

Zegalur
> Свободная группа

Внатуре почти 1-в-1. Единственное что я не понял определена ли там обратная операция для составного выражения как её определил Sbtrn. Devil. Но может просто не понял чего то из сказанного.

Страницы: 1 2 Следующая »
ФлеймФорумНаука