Если кратко -- то по ссылке
@friogenn.
Если подробнее, то для решения такой задачи удобно представлять число 100 как сотню единиц, которые нужно раскидать по 4м корзинам без возвращений. Если нули в разложении запрещены, то киньте в каждую корзинц по единице и распределяйте оставшиеся 96.
Другими словами, расставить 4 "перегородки" в 99 (если пустые группы не разрешены) или в 101 (если разрешены) позицию. После этого необходимо вычесть повторяющиеся результаты (перестановки корзин).