Забавно, но это задачка не про программированию, и даже не по олимпиадному программированию, а по разгадыванию сложно-сочиненных шарад. Ну или по реверс-инжинирингу кода, полученного "дизассмеблером". Причем без дебаггера, чисто на бумажке, я полагаю. Иначе неспортивно.
Написали бы хотя бы комментарий и том, какой конкретно алгоритм [не в терминах - посчитать первые 100 знаков, а явным описанием рекуррентных соотношений, эти знаки выдающих или хотя бы общей идеи - вокруг какого ряда пляски] реализуется этим и предыдущим кодом - получили бы на порядок больше желающих попробовать с этим разобраться.
Один желающий нашелся, и дал вменяемое решение с 7 или 10-ю правками. Настаивать на том, что 5 правок лучше - тоже так себе идея. Слишком уж спортивная :)))
Рядов для пи, особенно быстро сходящихся, не бог весть как много. Глядя на список соотношений, дающих пи (или его долю), и сравнивая с текстом программы, несложно понять, какое соотношение в ней было использовано. Зная ряд, который порождает е, относительно несложно понять, что надо поправить. Дальнейшее - дело нескольких экспериментов.
Программистская часть здесь невелика - при желании можно разобраться, зачем сделано вычисление пары цифр зараз, но это для решения необязательно.
И потом, в данном случае проще разбором кода понять, что происходит, чем перебирать несколько рядов и соображать, вокруг которого пляски.
Короче - есть много задач, которые решить можно, но решать не хочется. Боюсь, что ваша, в той подаче, что вы оформили - из таких. Круг лиц, могущих ее решить, узок, и ничтожная часть могущих хочет.
Comments 8
Reply
Написали бы хотя бы комментарий и том, какой конкретно алгоритм [не в терминах - посчитать первые 100 знаков, а явным описанием рекуррентных соотношений, эти знаки выдающих или хотя бы общей идеи - вокруг какого ряда пляски] реализуется этим и предыдущим кодом - получили бы на порядок больше желающих попробовать с этим разобраться.
Один желающий нашелся, и дал вменяемое решение с 7 или 10-ю правками. Настаивать на том, что 5 правок лучше - тоже так себе идея. Слишком уж спортивная :)))
Reply
Рядов для пи, особенно быстро сходящихся, не бог весть как много. Глядя на список соотношений, дающих пи (или его долю), и сравнивая с текстом программы, несложно понять, какое соотношение в ней было использовано. Зная ряд, который порождает е, относительно несложно понять, что надо поправить. Дальнейшее - дело нескольких экспериментов.
Программистская часть здесь невелика - при желании можно разобраться, зачем сделано вычисление пары цифр зараз, но это для решения необязательно.
Reply
И потом, в данном случае проще разбором кода понять, что происходит, чем перебирать несколько рядов и соображать, вокруг которого пляски.
Короче - есть много задач, которые решить можно, но решать не хочется. Боюсь, что ваша, в той подаче, что вы оформили - из таких. Круг лиц, могущих ее решить, узок, и ничтожная часть могущих хочет.
Reply
Reply
Leave a comment