Поможет ли знание алгоритмов в решении типичных задач?
Ну потому что подобные задачи уже не совсем программирование, а математика, геометрия (если рисуете), теория вероятности итп.
А вообще хорошей практикой является гуглинг. Основа программирования это переиспользование кода (своего или чужого). Но раз вы учитесь, то не надо тупо копировать, а вникать в логику.
PS
Кстати решение вашей задачи можно на википедии найти.
Если вы по несколько часов залипаете на задаче определения чисел как простых, то может программирование и не ваше?
не всем же быть банкирам, и не всем быть министрами, возможно и не всем быть программистами...