The value of k really doesn't matter here, so if you like, you can replace it with 5 or 7 or 43 or any other prime greater than 3. I'll replace it with 7; then if we get a prime factorization, our number becomes:
12*7^3 = (2^2)(3^1)(7^3)
When we have a prime factorization, we can count all of a number's divisors by adding 1 to each exponent, then multiplying what we get. When we add 1 to each exponent here, we get the numbers 3, 2 and 4, and multiplying these, we learn that our number has 24 divisors in total.
Some of those divisors are odd, and some are even. If you think about any one odd divisor of this number, say 3*7, notice you can make two even divisors, by multiplying by 2 (to get 2*3*7) and by multiplying by 2^2 (to get 2^2 * 3 * 7). So for every 1 odd divisor, we have 2 even divisors, and 2/3 of this number's divisors are even, and the answer is (2/3)*24 = 16.
Alternatively, you could count the number's odd divisors, then subtract from the total. If we want to count how many strictly odd divisors a number has, we can use the same divisor-counting method above, but we need to completely ignore the 2^x part of the prime factorization, because an odd divisor can't include any 2's. So here we have:
(2^2)(3^1)(7^3)
and if we ignore the 2's, we have 3^1 * 7^3, and adding one to each exponent and multiplying, we get 2*4 = 8 odd divisors in total. Subtracting that from the total number of divisors, 24, we learn that the remaining 16 divisors are even.
I'm not sure what the source of the question is, but here "k" is a prime number, and "p" is a non-prime number, and no number theorist would ever assign letters that way - it's needlessly confusing to a reader.