|
|
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
mayton, Все так. Только этот результат требуется получить без деления и без использования длинных чисел. Сорри, что сразу не написал это в условии, т.к. почему-то посчитал это условие разумеющимся в свете предыдущей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 20:57 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Я понял. Надо подумать. Скорее всего решение этой задачи будет базироваться на циклических вычитаниях и (возможно умножениях). Как алгоритм Евклида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 21:02 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Забавно. А вот ещё тривиальщины на закуску, на случай, если и в этой задаче делить нельзя. Если авторМножители никак не упорядочены и не обязательно просты., то надо: разложить множители до простых, получить классические представления в виде перемножения простых множителей: A* и B* упорядочить оба представления, что поможет быстро... ...вычесть A*\B* и так получить X для фанатов: вычесть B*\A*, получить пустое множество, и так убедиться, что - автор не соврал! - X и впрямь целочисленное. для фанатов-префанатов: выполнять два последних пункта одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 21:03 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
MrCat, Забавно, но, оказывается, можно проще ) См. решение предыдущей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 21:08 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Лучше отдельным топиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 21:14 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, а что такое короткие множители ? Вы имеете ввиду факторизацию, или что-то другое ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 01:57 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Обычно программная реализация длинного целого типа для работы с очень большими числами основана на некотором ("коротком") целочисленном типе, который поддерживает компилятор. Программисты, с ними работающие, для собственного удобства используют очевидный жаргон. Например, "умножение длинного на короткое". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 08:13 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovmaytonЛучше отдельным топиком. Здесь: http://guildalfa.ru/alsha/node/31 Не. Ну это неинтересно. Блог господина Шарахова нам недоступен для каментов. Лучше всё таки поднять на скруле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 13:42 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAleksandr Sharahov, а что такое короткие множители ? Вы имеете ввиду факторизацию, или что-то другое ? Мне почему-то вспомнилось Умножене Карацубы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 13:45 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
mayton, Топик разместил у себя в блоге, чтобы, во-первых, он не затерялся и остались следы, и, во-вторых, там ожидается весьма интересное продолжение, которое давно планировал, но все никак не могу собраться из-за нехватки времени. А комментарии можно хоть здесь, хоть там писать - не проблема. Умножение Карацубы немного из другой оперы. Если грубо, то оно используется для оптимизации умножения столбиком длинных чисел, а для умножения длинного на короткое оно не требуется. Но тема даже не в этом, а в том, что на самом деле и длинное не всегда нужно, иногда оказывается достаточно его последней цифры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2015, 14:09 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahovmayton, Есть интересный вариант задачи с похожим решением: Длинные числа A и B заданы своими короткими множителями a[i], i=1..N и b[j], j=1..M. Множители никак не упорядочены и не обязательно просты. Известно, что B=A*х, где x - короткое. Найти x. XOR всех множителей a[i] и b[j] даст требуемый результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 03:35 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAleksandr Sharahovmayton, Есть интересный вариант задачи с похожим решением: Длинные числа A и B заданы своими короткими множителями a[i], i=1..N и b[j], j=1..M. Множители никак не упорядочены и не обязательно просты. Известно, что B=A*х, где x - короткое. Найти x. XOR всех множителей a[i] и b[j] даст требуемый результат Пусть a=2, b=2*2*2. Тогда x=2*2, но XOR=0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 07:58 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, ваш контрпример противоречит условию Aleksandr Sharahov Известно, что B=A*х, где x - короткое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 08:02 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAleksandr Sharahov, ваш контрпример противоречит условию Aleksandr Sharahov Известно, что B=A*х, где x - короткое. В чем противоречие? A состоит из одного целого множителя, равного 2, который укладывается в отведенное количество бит (скажем 32). B состоит из трех целых множителей, каждый из которых также равен 2. B=A*4. Т.е. x=4 и x - короткое (укладывается в отведенное количество бит). На мой взгляд, соответствие условию полное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 08:13 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov На мой взгляд, соответствие условию полное. В постановке задаче вы фигурировали термином "короткое число". Определили оба числа как произведение коротких чисел и далее вы сказали о том, что числа отличаются на одно короткое число. Aleksandr SharahovДлинные числа A и B заданы своими короткими множителями a[i], i=1..N и b[j], j=1..M. Множители никак не упорядочены и не обязательно просты. Известно, что B=A*х, где x - короткое. Из чего был сделан вывод о том, что данное короткое число должно принадлежать одному из множеств коротких чисел соответствующих числам A и B, что не совпадает с вашими требованиями к данной задаче. В таком случае, мне кажется, лучше будет озвучить постановку задачи следующим образом: Пусть , где . Известно, что . Найти x не используя операцию деления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 08:47 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Кстати, как я понимаю число 0 подходит под данное выше определение короткого числа 1. Пусть 0 будет присутствовать в одном из чисел. Что на выходе даст ваш алгоритм ? 2. Пусть 0 присутствует в обоих числах, при этом никаких различий в числах более нет. Что на выходе даст ваш алгоритм ? 3. Пусть 0 присутствует в обоих числах, существуют различия в числах. Что на выходе даст ваш алгоритм ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 09:00 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Вывод о том, что короткое число x должно принадлежать одному из множеств коротких чисел, соответствующих числам A и B, неверен. Он никак не следует из того, что x - короткое. Похоже, ваша формулировка задачи полностью эквивалентна моей, но, несомненно, выглядит гораздо красивее ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 09:56 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryКстати, как я понимаю число 0 подходит под данное выше определение короткого числа 1. Пусть 0 будет присутствовать в одном из чисел. Что на выходе даст ваш алгоритм ? 2. Пусть 0 присутствует в обоих числах, при этом никаких различий в числах более нет. Что на выходе даст ваш алгоритм ? 3. Пусть 0 присутствует в обоих числах, существуют различия в числах. Что на выходе даст ваш алгоритм ? Если не ошибаюсь, алгоритм отслеживает все эти особые случаи и в качестве результата выдает 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 09:59 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, конечно мой вывод был неверен ) Но это недопонимание с моей стороны возникало по причине присутствия данного термина. Пусть например оба числа равны 0, в таком случае x может быть любым числом. Неформальное определение "короткое число" позволяет нам провернуть подобное. Может быть 0 всё-таки не должен присутствовать в постановке задачи ?Или это не так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2016, 10:16 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1340821]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 522ms |

| 0 / 0 |
