Детское математическое

Dec 07, 2010 12:53

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

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

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

Ответ: 9876543120

9876543210 - максимальное 10-значное число с неповторяющимися цифрами.
Делим на 36. Получаем что-то там с половиной. Значит, если изменить 9876543210 на 18 (отнять или прибавить), то мы получим натуральное число, которое делится на 36.
А дальше начинаем от него отнимать по 36 и смотреть на цифры в результатах. Как долго отнимать? А пока не попадется результат с не повторяющимися цифрами. Ну, или пока результат не сменит разрядность.

Т.е. задачка решается перебором. Не красиво. Но для алгоритма - нормально. Надо будет ее предлагать в качестве тестовой задачки для разработчиков. :)

UPD. Вот хороший, хотя и несколько избыточный ответ: http://blog.vsv.ru/?p=190

игры

Previous post Next post
Up