#include /* Ucitava n i pise broj particija broja n, tj. broj rastava broja n u sumu nepadajucih prirodnih brojeva. Osnovni rekurzivni algoritam zbrajanjem. Koristi globalni brojac particija. */ int broj = 0; void particije(int suma, int prvi) { int i; if (suma == 0) ++broj; else for (i = prvi; i <= suma; ++i) /* Sljedeci pribrojnik je i, rekurzivni poziv za suma - i. */ particije(suma - i, i); return; } int main(void) { int n; printf(" Upisi prirodni broj n: "); scanf("%d", &n); particije(n, 1); printf("\n Broj particija p(%d) = %d\n", n, broj); return 0; }