Я и говорю, что вы понимаете здесь под знаком /, которым я обозначаю деление, также как * означает точку умножения. Неужели, если бы вы писали 2·3÷4·5, то вам бы так же хотелось получить то же самое? Или если считать на калькуляторе, и вводить последовательно знаки умножения деления, то есть какая-то разница?
Я правда в том первом варианте, что вы предложили посчитал также 10·10:5·5 и получил 100, потому что нет скобок и нет приоритета, также как нет приоритета у сложения или вычитания.
Но в итоге (действительно, чтобы больше людей, кому понадобится) прочитало, опубликовал в Алгоритмах. Надеюсь, с предыдущими комментариями будет понятнее как она здесь оказалась.
Просто я не думаю, что он относится как-то к этим блогам, для первого он не соответствует уровню блога, для второго в нем нет ничего ненормального и brainfuck-овского, как в последнее время там водится. Когда думал разместить просто в занимательных задачах, то тут же был заминусован, скорее всего за то, что там непривычно сразу видеть какой-то ответ :)
Я никогда не слышал о приоритете умножения над делением в мире людей. Вы просто группируете скобками операции: (10*10)/(5*5) вместо 10*10/5*5, а скобки в задаче не предполагаются.
Вы думаете, что это «по-человечески», поскольку сравниваете значок слэша со знаком дроби, а не знаком деления (в виде двоеточия или знака обелюса ÷), который как раз более свойственен миру людской арифметики. Так что никакой ошибки в этом нет.
Да, деление на ноль и бессмысленно проверять, потому что единственная операция, которая могла его обеспечить при таком порядке чисел, это скобки. С ошибками дело обстоит так:
Получить случай эпсилон-разницы с большей точностью для данной последовательности мне хотя бы интуитивно кажется невозможным. Но и судя по просмотренным результатам для той же сотни, все дроби оказываются верны, и этим, скажем, наиболее забавны :).
Конечно. Ведь я и не искал никакой пользы для сжатия информации. Я искал лишь удовлетворение личного математического (или пусть даже арифметического) любопытства, коего и достиг, о котором и написал. По крайней мере три вопроса, которые я хотел решить таким образом и решил:
1) Сколько решений найдется для наиболее известной задачи числа ста?
2) Действительно ли предполагаемый 0 должен обладать наибольшим числом вариаций?
3) Действительно ли можно все целые числа до 100 так представить?
Мне просто это было интересно. Может быть, этим может когда-то заинтересоваться кто-то еще, возможно даже для какого-то неожиданного практического применения, поэтому я описал свои действия.
Я вполне уверен в этом, так как тогда я первый раз победил в каком-то интеллектуальном соревновании в большой группе людей, и я стал меньше волноваться по поводу своих способностей и больше пользоваться ими.
Да я уже понял, когда увидел форматирование, что автор использует Python 3.x, где range был заменен по-сути более быстрым xrange, который, конечно выдает не список. Для 2.x range() возвращает список.
Мне кажется это задача интересная и можно воспринять это как хорошую возможность показать и свои аналитические способности и эрудицию с лучшей стороны, и представить сам язык. Ведь тот же Pascal кого-то уже какой десяток лет кормит хлебом, за то он его и уважает.
На кафедре микроэлектроники все гораздо проще, потому что основным является добиться цели, смоделировать что-то, автоматизировать, поэтому и важны сами результаты, новые, свежие. Надеюсь, и на вашей кафедре можно еще кого-то разбудить, например, предложенным рассказом-сравнением.
Я правда в том первом варианте, что вы предложили посчитал также 10·10:5·5 и получил 100, потому что нет скобок и нет приоритета, также как нет приоритета у сложения или вычитания.
И я уже переместил :)
Вы думаете, что это «по-человечески», поскольку сравниваете значок слэша со знаком дроби, а не знаком деления (в виде двоеточия или знака обелюса ÷), который как раз более свойственен миру людской арифметики. Так что никакой ошибки в этом нет.
>>> 100 == 100.0
True
>>> 100 == 100.00000000000001
False
>>> 100 == 99.9999999999999
False
Получить случай эпсилон-разницы с большей точностью для данной последовательности мне хотя бы интуитивно кажется невозможным. Но и судя по просмотренным результатам для той же сотни, все дроби оказываются верны, и этим, скажем, наиболее забавны :).
Обработка занимает 55 секунд.
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
А далее 990, 1000, 1002, 1004, 1062…
Забавно что 100 представить можно 101 способом, а 1000 ни одним.
1) Сколько решений найдется для наиболее известной задачи числа ста?
2) Действительно ли предполагаемый 0 должен обладать наибольшим числом вариаций?
3) Действительно ли можно все целые числа до 100 так представить?
Мне просто это было интересно. Может быть, этим может когда-то заинтересоваться кто-то еще, возможно даже для какого-то неожиданного практического применения, поэтому я описал свои действия.
somefoo = list(range(9))
, еслиrange
уже возвращает список.На кафедре микроэлектроники все гораздо проще, потому что основным является добиться цели, смоделировать что-то, автоматизировать, поэтому и важны сами результаты, новые, свежие. Надеюсь, и на вашей кафедре можно еще кого-то разбудить, например, предложенным рассказом-сравнением.