Recently on Codeforces i faced problems like Codeforces which used the property of a positive integer to be expressed like 2^a * 3^b * 5^c * 7^d .... and by manipulating this property a little bit we can get the answer.

and in this question Codeforces we had to guess the sequence of minimum numbers where it was given the answer is always **P^k **where P is a prime number & (k>=1).The analogy was given but the proof was missing.

I like the approach and concept of the question however there was no mathematical proof available in the tutorial.Are there any books or good tutorials based on these kind of questions with proofs?