Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
По поводу операций сложения. Смотрим. Первые два кейса - достаточно просты. 1) Сложение без переноса. 2) Сложение и появление ненормализованности. Нормализация которая приводит рекурсивно еще к одной нормализации. Над вариантом (3) я пока еще думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 23:13 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2014, 23:15 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Неудачный вариант примера. Там происходит денормализация и сдвиг вправо 1 единички за диапазон разрядной сетки. Пока еще не знаю что с этим делать. Можно предположить что сетка справа - виртуальна. Вобщем пока возьмем не 10+2 а 11+3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2014, 00:01 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
RWolfSashaMercuryRWolf, а сколько же потребуется в среднем операций ? :) на глаз M + k × (N - M), где k немного больше единицы (для одного случая из десяти сработает перенос в (M+1)-й разряд числа n, для одного из ста — в (M+2)-й и т.д. мне кажется, ваша аппроксимация верна, на досуге выведу общую формулу возможно. Dimitry Sibiryakov , я правильно понял, вы снимаете свои предложения по оптимизации ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 03:36 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
mayton, у меня такой вопрос, хотелось бы увидеть обоснование данной СС. Не силён в таких вещах, но для двоичной СС это обоснование (в первом приближении) можно провести следующим образом: Докажем следующее утверждение: Любое неотрицательно целое число можно разложить по базису в виде , где принимает либо 0, либо 1. Доказательство: Фиксируем n. Докажем что . Разложение по базису неотрицательно и имеет минимум в том случае, когда все коэффициенты . Неравенство справа докажем методом математической индукции. 1. -выполнено 2. Предположим что выполнены равенства следующего вида до n включительно из индукционного предположения докажем что используя индукционное предположение получим то Мы доказали неравенство с обоих сторон. Разложение по базису даёт нам вариантов. Причём все они ограничены слева и справа. Докажем что число можно разложить по базису единственным образом(отмечу, что сейчас я строю не совсем корректные с точки зрения математики фразы, базис, например, предполагает что по нему можно разложить любой элемент единственным образом, потому возможно стоило формулировать утверждение следующим образом -"Докажем что ... образует базис", опять таки, я не гнался за строгостью в данном доказательстве и обосновании, целью было лишь показать то, что я хочу увидеть от предложенной СС). Доказательство тривиально, предположим что x1=x2 можно разложить с помощью различных комбинаций. Сравнивая два разложения легко можно показать что они равны. Я думаю, что данное обоснование можно провести для всех СС, основанных на геометрической прогрессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 05:12 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
maytonДля наглядности я нарисовал таблицу для преобразований в ССФ первых 12 целых чисел. Обратите внимание на одно свойство. Нигде нет подряд идущих двух едниниц. Пара соседних разрядов всегда образуем сумму с переносом в следующий. Это таблица нормированных чисел в ССФ. Далее НЧ-ССФ. Пил компот, и подумал, а нигде и не может быть подряд 2 идущих единиц, если будут две единицы подряд, то по факту это следующий разряд, ибо это значит что наше число будет содержать , то это равносильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 07:06 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
SashaMercurymayton, у меня такой вопрос, хотелось бы увидеть обоснование данной СС. Не силён в таких вещах, но для двоичной СС это обоснование (в первом приближении) можно провести следующим образом: Докажем следующее утверждение: Любое неотрицательно целое число можно разложить по базису в виде , где принимает либо 0, либо 1. А нет никакого обоснования. Какое обоснование было у Римлян? Да не было. Просто рисовали символ V как ладонь с большим пальцем отведённым в сторону. 5 пальцев дескыть. Твои арифметические выкладки мне не очень понятны. Зачем ты приводишь аналогию с двоичной системой? Фибоначчи избыточна. Это факт И любое число можно записать массой способов. Чем больше число тем больше вариантов как его записать. Я всего-лишь выдал своё собственное предположение о том что есть нормализованная форма (1 единственная) и некоторое количество ненормализованных. Зачем это нужно? Ну... далее по тексту расскажу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 09:26 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
maytonSashaMercurymayton, у меня такой вопрос, хотелось бы увидеть обоснование данной СС. Не силён в таких вещах, но для двоичной СС это обоснование (в первом приближении) можно провести следующим образом: Докажем следующее утверждение: Любое неотрицательно целое число можно разложить по базису в виде , где принимает либо 0, либо 1. А нет никакого обоснования. Какое обоснование было у Римлян? Да не было. Просто рисовали символ V как ладонь с большим пальцем отведённым в сторону. 5 пальцев дескыть. Твои арифметические выкладки мне не очень понятны. Зачем ты приводишь аналогию с двоичной системой? Фибоначчи избыточна. Это факт И любое число можно записать массой способов. Чем больше число тем больше вариантов как его записать. Я всего-лишь выдал своё собственное предположение о том что есть нормализованная форма (1 единственная) и некоторое количество ненормализованных. Зачем это нужно? Ну... далее по тексту расскажу. Марк, я всего лишь провел поверхностное обоснование того, что двоичная система счисления имеет место быть, т.е. что используя разложение можно получить любое неотрицательное целое число, причём единственным образом. Значение этого разложения лежит в закрытом диапазоне целых чисел от 0 до , и число вариантов разложения(в зависимости от коэффициентов ) равно . Далее я показал, что каждое разложение даёт нам уникальное число в 10чной системе счисления. Исходя из всего этого, наше утверждение доказано. Вот и хочется видеть, что если основание СС использует разложение Фибоначчи, то мы можем с помощью него получить любое число в 10чной СС, причём единственным образом(если два соседних разряда не установлены в 1). Или доказательство без обоснования единственности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:10 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Оки доки артишоки. Значить продолжаю свой блог. Надо формализовать что можно делать с ССФ а что нельзя. Что можно делать с числов в ССФ? 1) Left transform. Трансформация влево. На примере 2+3=5 Код: plaintext 1. 2) Right transform. Аналогично. 3 = 2+1 Код: plaintext 1. 3) Protected transform. Запрещенные транформации. Не можем третий весовой коэффициент сдвинуть вправо. Позиции (1) и (2) уже заняты. Арифметический смысл. В ряду Фибоначчи не может быть одинаковых весовых коэффициентов. Код: plaintext 1. 4) Negative and Frac. Отрицательные и дробные значения. . Пока не определены. Младший ВК=1 вправо не сдвигается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 15:39 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
SashaMercuryя всего лишь провел поверхностное обоснование того, что двоичная система счисления имеет место быть, т.е. что используя разложение можно получить любое неотрицательное целое число, причём единственным образом. Значение этого разложения лежит в закрытом диапазоне целых чисел от 0 до , и число вариантов разложения(в зависимости от коэффициентов ) равно . Далее я показал, что каждое разложение даёт нам уникальное число в 10чной системе счисления. Исходя из всего этого, наше утверждение доказано. Вот и хочется видеть, что если основание СС использует разложение Фибоначчи, то мы можем с помощью него получить любое число в 10чной СС, причём единственным образом(если два соседних разряда не установлены в 1). Или доказательство без обоснования единственности. Ну... круто конешно. Только ты зря сильно напрягаешся с мат-аппаратом. Я на ходу "постулирую" алгебру. Пока - я иду шаги которые аксиоматичны. Это как точка и прямая. Ну.. нечего пока доказывать. И я не зря привёл Римскую систему как пример. Она - непозиционна. Это означает что в ней нет понятия веса в зависимости от позиции. И операции в столбик в ней не работают. Ну по крайней мере как в десятичной. И не похожа на двоичную. ССФ как я полагаю является позиционной, многозначной системой. Последний тег означает что есть много способов записать одно число. Это вроде как избыточность. ИЧСХ она тоже не похожа на двоичную. Внешняя аналогия - обманчива. Мне просто удобно записывать ССФ как двоичный код. Пример многозначных определний числа 21 = Fib(1000000) (нормализовано) = = Fib(110000) = Fib(101100) = Fib(101011) P.S. Это моё чортово ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:03 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
maytonНеудачный вариант примера. Там происходит денормализация и сдвиг вправо 1 единички за диапазон разрядной сетки. Пока еще не знаю что с этим делать. Можно предположить что сетка справа - виртуальна. Вобщем пока возьмем не 10+2 а 11+3. Я бы не использовал термин денормализация . Числа бывают нормализованные и ненормализованные. Причём это всё вроде бы, если мне не изменяет моя память, о мантиссе числа с плавающей точкой. А целые -- они бывают в доп-коде и со знаком. Допкод встречается чаще, там никаких нормализаций нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:11 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Можно сказать свёртка . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:33 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
maytonОки доки артишоки. Значить продолжаю свой блог. Надо формализовать что можно делать с ССФ а что нельзя. Что можно делать с числов в ССФ? 1) Left transform. Трансформация влево. На примере 2+3=5 Код: plaintext 1. 2) Right transform. Аналогично. 3 = 2+1 Код: plaintext 1. 3) Protected transform. Запрещенные транформации. Не можем третий весовой коэффициент сдвинуть вправо. Позиции (1) и (2) уже заняты. Арифметический смысл. В ряду Фибоначчи не может быть одинаковых весовых коэффициентов. Код: plaintext 1. 4) Negative and Frac. Отрицательные и дробные значения. . Пока не определены. Младший ВК=1 вправо не сдвигается. артишоки :DDD а почему в первом примере у вас 2 единицы расположены рядом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:08 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Из ненормализованной формы Fib(110) перевел в нормализованную Fib(1000). 2+3=5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:13 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
артишоки :DDD Это цитата из фильма . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:14 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
я долго смеялся :D такой фильм не видел а второй пример наоборот. Я думал что если мы работаем с ССФ, то уже предполагаем что две 1 рядом не будут расположены.(разница между ненормализованной и нормализованной понятна, думал что ССФ нормализованная). Доброго времени суток :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:22 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Илья предлагает не использовать эти термины. Можно их заменить на свёрнутая и развёрнутая формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:29 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Не вытерпел, достал "Популярные лекции по математике": Н.Н. Воробьёв, "Числа Фибоначи", 5-е издание, 1984 г. Стр.37Фактически описанный процесс является последовательным выделением из числа a слагаемых, равных наибольшим возможным числам ФибоначчиПодчёркнуто мною. Далее доказывается, что:Стр.38всякая последовательность из n -1 нулей и единиц, начинающаяся с единицы и не содержащая двух единиц подряд, есть фибоначчиева запись Ф(a) некоторого числа a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 16:42 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Вась. Ну вот отлично. Ты вычитал умную статью. Я же не против того что в номальном числе в ФСС нет подряд идущих единиц. Но мне для РЕАЛИЗАЦИИ операции сложения в столбик необходимо временно денормализовать число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 17:53 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
maytonВась. Ну вот отлично. Ты вычитал умную статью. Я же не против того что в номальном числе в ФСС нет подряд идущих единиц. Но мне для РЕАЛИЗАЦИИ операции сложения в столбик необходимо временно денормализовать число. если временно, то почему нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 01:55 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сегодня утром сделал следующий, вполне обоснованный вывод, по части именования переменных в которых хранится информация о длине строки. У нас есть стандартная функция Код: plaintext 1. , она возвращает число символов без терминального нуля. Таким образом, мы можем именовать переменную в которой содержится это значение либо len, либо size, либо s, но size название неудачное, в силу того, что уже есть имя типа данных с похожим название, Код: plaintext 1. Имя s также не подходит, в силу того, что s больше ассоциируется со строкой Код: plaintext 1. Остаётся вариант len(l не подходит, в силу того, что похожа на 1): Код: plaintext 1. Допустим нам нужно передать в функцию длину строки вместе с завершающим нулем, вариант len не подходит, ибо как мы поймём по прототипу функции что мы передаём, длину с завершающим нулем или нет. Остаётся вариант с мощностью p. Код: plaintext 1. Удобно, коротко, нативные ассоциации в связи с тем, что строка есть массив/множество символов. Сделал умножение, алгоритм мне не нравится, ибо мне кажется что он далеко не оптимален. Тут код С++, потому что мне сложно отказаться от тернарного оператора. Он мне слишком нравится, чтобы его не использовать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 04:12 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
А вот сейчас делаю сочетания, может быть кто-нибудь подскажет как обосновать что этот алгоритм будет работать за один проход ? Либо обратное ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 07:37 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Прошу прощение, ошибка Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 07:41 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
"Меня опять терзают смутные сомнения", что тяжело вам будет в коллективе программистов с вашим подходом к именованию переменных. Числитель и знаменатель это, всё-таки, nominator и denominator. Что до доказательства ... Факториал тривиально развёртывается в цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 07:52 |
|
||
|
Длинная арифметика. Вопросы по реализации/оптимизации
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, только исходя из того что этот код для программистов, а не для математиков, я назвал числитель и знаменатель так, как назвал. И несмотря на это, мне это именование нравится(причем вполне обоснованно нравится), ибо эти слова похожи, и их смысл сразу понятен, даже для тех, кто не знает английский язык. К сожалению, ваше доказательство не подходит. PS (не обижайтесь пожалуйста, но у вас ошибка в слове числитель, правильно numerator) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2014, 07:59 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38797476&tid=2019209]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 151ms |

| 0 / 0 |
