Linear Programming and Operational Research Question, Dynamic Programming

a) Suppose there are 40 pennies on a table. I begin by removing 1,2,3, or 4 pennies. Then my opponent must remove 1,2,3, or 4 pennies. We continue alternating turns until the last penny is removed. The player who picks up the last match is the loser. Can I be sure of victory? If so, how?

b) If there are initially N pennies and each player removes 1,2,..., or k pennies , are there values of N and k for which I can't be guaranteed a victory? Find such a pair of values or show that I have a winning strategy no matter how many N and k are selected

Thank you so much who ever can help me!!