Project Euler - еще один увлекательный сайт, посвященный программированию, в котором можно соревноваться (ну, играть). Ранние проблемы начинаются мягко, но затем начинаются с трудностями после первой сотни или около того. Первые несколько проблем имеют некоторую общность между поиском простых чисел, кратных и факторов, поэтому могут быть интересные возможности повторного использования кода.
Итак, напишите программу, которая без априорных знаний решает любую из первых 9 проблем .
- Проблема выбирается пользователем, ASCII «1» - «9» включительно, через аргумент при вызове или стандартный ввод во время работы. (Вы можете вычислить все ответы, но показать только один.)
- Правильный ответ должен быть напечатан в новой строке, в базе 10, используя ASCII.
- Программы должны выполняться менее чем за минуту (предложение PE).
Под « априорным знанием нет» я подразумеваю, что ваш код должен получить ответ без внешних ресурсов ‡ . Программа, подобная этой, будет считаться недействительной (в противном случае это будет правильным, если предположить, что я не опечатался):
print[233168,4613732,6857,906609,232792560,25164150,104743,40824,31875000][input()-1]
‡ Для задачи № 8 (включает в себя 1000-значное число) вы можете прочитать число из внешнего файла, просто указать, как оно хранится (например, двоичный файл, текст, заголовок, импортированный модуль) и / или включить его в свой ответный пост ( не учитывается в длине основной программы).
Оценка в байтах.
- Пятнадцать очков Unicorn ™ начисляются лидеру подсчета байтов через 2 недели.
if(i%3<1||i%5<1)a+=i
короче! :)