Кофе
emergency
дневник заведен 08-07-2007
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
24-04-2017 05:39 Математика и логика
Предположим у нас есть число от 0 до 99.
Задача - поменять местами его цифры.
Из 21 сделать 12. Из 85 - 58. И т.п.

Я понимаю, как это сделать последовательностью логических операций.
Мы представляем число X в форме = 10a+b. И тогда 10b+а это решение задачи

Но что, если у нас нет, а и b. Что если есть X, и нужно алгебраической формулой получить из него Y, который был бы "перевёрнутым" значением.
Я знаю, опять же как такое сделать последовательностью программных операций. Мы делим X на десять, потом отнимаем дробную часть, которую ставим в переменную а. Остаток - в переменную b. И потом уже работаем с ними. (Ну или там ещё тысяча разных алгоритмов, которыми можно добиться необходимого.)

Но это уже логика. Алгоритм.

А можно ли такое сделать математикой?
Есть ли такая формула, которая превратит X в его перевёрнутое значение?
Комментарии:
24-04-2017 09:59
int swapDigits (int n) { return (n%10) * 10 + (n/10); }
Камрад
это алгоритм, а не формула
24-04-2017 13:20
y = (x%10) * 10 + (x/10)
Камрад
что значит x%10?
24-04-2017 13:30
Камрад
emergency деление с остатком
Камрад
95%10 это сколько?
24-04-2017 13:37
Камрад
emergency 5
Камрад
первый раз слышу о такой математической операции
это точно не оператор из программирования, за которым стоит отдельный алгоритм?
24-04-2017 13:40
Камрад
emergency Ну я только в области программирования с этим сталкивался.
Но википедия говорит что операция "алгебраическая"

https://ru.wikipedia.org/wiki/%D0%9...%BA%D0%BE%D0%BC
Камрад
я просто не понимаю, как эта операция работает на практике
опять же - понимаю алгоритмически, если делать операции и проверки между операциями

а если проверок не делать - просто последовательность одинаковых операций над числами, которые дадут остаток
то я не знаю как оно работает
Администратор<br>Буржуин проклятый
деление с остатком:

x mod y = x - ⌊ x / y ⌋ * y
Камрад
мне теперь интересно, как сама эта функция деления с остатком работает.

как формулой получить остаток от деления
Администратор<br>Буржуин проклятый
emergency - я сообщением выше дал тебе именно эту формулу.
Камрад
а, такие вот скобки ⌊⌋ - они от обычных чем-то отличаются?
Администратор<br>Буржуин проклятый
это обозначение целой части числа.

https://ru.wikipedia.org/wiki/%D0%A...%81%D1%82%D1%8C
Камрад
Ок. Мы закапываемся всё глубже, но изначальный вопрос при этом по сути остаётся ровно таким же.

А как математически работает взятие целой части числа? Как получить целую часть формулой?
Администратор<br>Буржуин проклятый
emergency - у нас получается некоторый инсепшен я тебе могу написать, как получить целую часть числа формулой (собственно, эта формула есть в статье по ссылке, что я указал):

⌊ x ⌋ = max {n ∈ Z | n ≤ x}

но ты наверное спросишь, как получить максимум формулой, и так далее.
свести данную задачу к примитивам типа сложения и вычитания не получится.
Камрад
мне интересно, на каком этапе там математика даёт сбой, и приходится вводить некие новые математические действия, которые невозможно получить из имеющихся и поэтому нужно брать за аксиому
Администратор<br>Буржуин проклятый
emergency - математика здесь не дает никакого сбоя. не знаю, почему ты считаешь целочисленное деление или экстремум новыми математическими действиями. это такие же математические понятия, как и, не знаю, интеграл или функция.

мне кажется, ты пытаешься решить эту задачу в рамках элементарной алгебры. такого способа я не вижу.
Камрад
хм. ок. мои познания в высшей математике оставляют желать лучшего к сожалению
Закрыть