- #include <stdio.h> 
-   
- int calc(int s, int l, int* c) 
- { 
-   if (l==0) 
-   if (l < 2) return s % c[l] ? 0 : 1; 
-   if (s < c[l]) return calc(s,l-1, c); 
-   return calc(s,l-1,c) + calc(s-c[l],l,c); 
- } 
-   
- int main(void) { 
- 	int cents[] = {0, 1, 2, 5, 10}; 
- 	const int size = sizeof(cents)/sizeof(cents[0]); 
- 	for (int s = 0; s < 10; s++) 
- 	{ 
- 		cents[0] = s; 
- 		printf("%d => %d\n",-  s ,-  calc (- s ,-  size -1,-  cents ));
 
- 	} 
- 	return 0; 
- } 
-   
				I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY2FsYyhpbnQgcywgaW50IGwsIGludCogYykKewogIGlmIChsPT0wKQogICAgcHJpbnRmKCJhY2Nlc3MgdG8gY1swXVxuIik7CiAgaWYgKGwgPCAyKSByZXR1cm4gcyAlIGNbbF0gPyAwIDogMTsKICBpZiAocyA8IGNbbF0pIHJldHVybiBjYWxjKHMsbC0xLCBjKTsKICByZXR1cm4gY2FsYyhzLGwtMSxjKSArIGNhbGMocy1jW2xdLGwsYyk7Cn0KCmludCBtYWluKHZvaWQpIHsKCWludCBjZW50c1tdID0gezAsIDEsIDIsIDUsIDEwfTsKCWNvbnN0IGludCBzaXplID0gc2l6ZW9mKGNlbnRzKS9zaXplb2YoY2VudHNbMF0pOwoJZm9yIChpbnQgcyA9IDA7IHMgPCAxMDsgcysrKQoJewoJCWNlbnRzWzBdID0gczsKCQlwcmludGYoIiVkID0+ICVkXG4iLCBzLCBjYWxjKHMsIHNpemUtMSwgY2VudHMpKTsKCX0KCXJldHVybiAwOwp9Cg==