Find out the number of ways of painting a fence with n posts and k colors so that not more than two consecutive posts have the same color.
Considers two possibilities for the last post:
Combine these two possibilities, we get the total number of ways to paint 'n' posts.
def count(n, k): if n == 1: return k if n == 2: return k * k return (k - 1) * (count(n - 1, k) + count(n - 2, k)) n = 3 k = 2 print(count(n, k))
function count(n, k) { if (n == 1) { return k; } if (n === 2) { return k * k; } return (k - 1) * (count(n - 1, k) + count(n - 2, k)); } const n = 3; const k = 2; console.log(count(n, k));