Pull to refresh
100
0
Лёва Матюшкин @LeoMat

ученый, программист, иллюстратор, редактор

Send message
Я и говорю, что вы понимаете здесь под знаком /, которым я обозначаю деление, также как * означает точку умножения. Неужели, если бы вы писали 2·3÷4·5, то вам бы так же хотелось получить то же самое? Или если считать на калькуляторе, и вводить последовательно знаки умножения деления, то есть какая-то разница?

Я правда в том первом варианте, что вы предложили посчитал также 10·10:5·5 и получил 100, потому что нет скобок и нет приоритета, также как нет приоритета у сложения или вычитания.

И я уже переместил :)
Но в итоге (действительно, чтобы больше людей, кому понадобится) прочитало, опубликовал в Алгоритмах. Надеюсь, с предыдущими комментариями будет понятнее как она здесь оказалась.
Просто я не думаю, что он относится как-то к этим блогам, для первого он не соответствует уровню блога, для второго в нем нет ничего ненормального и brainfuck-овского, как в последнее время там водится. Когда думал разместить просто в занимательных задачах, то тут же был заминусован, скорее всего за то, что там непривычно сразу видеть какой-то ответ :)
Я никогда не слышал о приоритете умножения над делением в мире людей. Вы просто группируете скобками операции: (10*10)/(5*5) вместо 10*10/5*5, а скобки в задаче не предполагаются.

Вы думаете, что это «по-человечески», поскольку сравниваете значок слэша со знаком дроби, а не знаком деления (в виде двоеточия или знака обелюса ÷), который как раз более свойственен миру людской арифметики. Так что никакой ошибки в этом нет.
Да, деление на ноль и бессмысленно проверять, потому что единственная операция, которая могла его обеспечить при таком порядке чисел, это скобки. С ошибками дело обстоит так:

>>> 100 == 100.0
True
>>> 100 == 100.00000000000001
False
>>> 100 == 99.9999999999999
False


Получить случай эпсилон-разницы с большей точностью для данной последовательности мне хотя бы интуитивно кажется невозможным. Но и судя по просмотренным результатам для той же сотни, все дроби оказываются верны, и этим, скажем, наиболее забавны :).

Обработка занимает 55 секунд.
При том, что у предшествующего числа даже 7 вариантов реализоваться:

123-4-5+6+789 = 909
12+3*45*6+78+9 = 909
12*3*4*5/6+789 = 909
1+234+5+678-9 = 909
1+2+3*45*6+7+89 = 909
1+2-3+4*5*6+789 = 909
1/2*3*45*6+7*8*9 = 909
Получается, что 910.

А далее 990, 1000, 1002, 1004, 1062…

Забавно что 100 представить можно 101 способом, а 1000 ни одним.
Конечно. Ведь я и не искал никакой пользы для сжатия информации. Я искал лишь удовлетворение личного математического (или пусть даже арифметического) любопытства, коего и достиг, о котором и написал. По крайней мере три вопроса, которые я хотел решить таким образом и решил:

1) Сколько решений найдется для наиболее известной задачи числа ста?
2) Действительно ли предполагаемый 0 должен обладать наибольшим числом вариаций?
3) Действительно ли можно все целые числа до 100 так представить?

Мне просто это было интересно. Может быть, этим может когда-то заинтересоваться кто-то еще, возможно даже для какого-то неожиданного практического применения, поэтому я описал свои действия.
Что-то поискав, не смог найти такой игры. Может быть, вы ее опишите?
Я вполне уверен в этом, так как тогда я первый раз победил в каком-то интеллектуальном соревновании в большой группе людей, и я стал меньше волноваться по поводу своих способностей и больше пользоваться ими.
Математика для маглов. Матлов.
Да я уже тоже успел понять, когда прочитал дальше. :)
Да я уже понял, когда увидел форматирование, что автор использует Python 3.x, где range был заменен по-сути более быстрым xrange, который, конечно выдает не список. Для 2.x range() возвращает список.
Зачем somefoo = list(range(9)), если range уже возвращает список.
Был и в Пскове, и в Изборске, и в Псково-Печерского монастыре, такие чудесные места, очень рад.
Мне кажется это задача интересная и можно воспринять это как хорошую возможность показать и свои аналитические способности и эрудицию с лучшей стороны, и представить сам язык. Ведь тот же Pascal кого-то уже какой десяток лет кормит хлебом, за то он его и уважает.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity