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