fork(2) download
  1. #include <stdio.h>
  2.  
  3. int calc(int s, int l, int* c)
  4. {
  5. if (l==0)
  6. printf("access to c[0]\n");
  7. if (l < 2) return s % c[l] ? 0 : 1;
  8. if (s < c[l]) return calc(s,l-1, c);
  9. return calc(s,l-1,c) + calc(s-c[l],l,c);
  10. }
  11.  
  12. int main(void) {
  13. int cents[] = {0, 1, 2, 5, 10};
  14. const int size = sizeof(cents)/sizeof(cents[0]);
  15. for (int s = 0; s < 10; s++)
  16. {
  17. cents[0] = s;
  18. printf("%d => %d\n", s, calc(s, size-1, cents));
  19. }
  20. return 0;
  21. }
  22.  
Success #stdin #stdout 0s 4508KB
stdin
Standard input is empty
stdout
0 => 1
1 => 1
2 => 2
3 => 2
4 => 3
5 => 4
6 => 5
7 => 6
8 => 7
9 => 8