Я, конечно, предвидел, что скоро начнутся школьные вопросы, на которые будет сложно отвечать. Но не думал, что так рано.
Несколько дней назад дочка-пятиклассница попросила помочь решить задачку по математике.
И я решил! Я сделал это! Хожу гордый, спасу нет.
Найти наибольшее десятизначное натуральное число, которое делится на 36, при условии, что все цифры в этом числе разные.
Вот если бы это была задачка по программированию или хотя бы
по информатике, то было бы совсем хорошо. А для математической задачки она имеет некрасивое решение. Не наш метод. Но для пятого класса может и нормально.
Ответ:
9876543120
9876543210 - максимальное 10-значное число с неповторяющимися цифрами.
Делим на 36. Получаем что-то там с половиной. Значит, если изменить 9876543210 на 18 (отнять или прибавить), то мы получим натуральное число, которое делится на 36.
А дальше начинаем от него отнимать по 36 и смотреть на цифры в результатах. Как долго отнимать? А пока не попадется результат с не повторяющимися цифрами. Ну, или пока результат не сменит разрядность.
Т.е. задачка решается перебором. Не красиво. Но для алгоритма - нормально. Надо будет ее предлагать в качестве тестовой задачки для разработчиков. :)
UPD. Вот хороший, хотя и несколько избыточный ответ:
http://blog.vsv.ru/?p=190