**Problem:** Let $c>0$ be a real number, and suppose that for every positive integer $n$, at least one percent of the numbers $1^c,2^c,3^c,\ldots,n^c$ are integers. Prove that $c$ is an integer.

**My progress:** At first we will deal with the case when $c$ is a rational number. Suppose $c=\frac{a}{b}$. It indeed suffices to prove the statement for rationals of the form $\frac{1}{a}$. Observe that there are $\lfloor{M^{\frac{1}{a}}}\rfloor$ integers of the form $n^{\frac{1}{a}}$ between $1$ and $M$. So the percentage of integers of the form $n^{\frac{1}{a}}$ among the first $M$ integers is
$$\frac{\lfloor{M^{\frac{1}{a}}}\rfloor}{M}\times 100\le \frac{M^{\frac{1}{a}}}{M}\times 100=\frac{100}{M^{1-\frac{1}{a}}}$$
which will be less than 1 for sufficiently large $M$.

But I am unable to prove the problem for any real $c$. I tried approximating reals with a sequence of rational numbers, but it didn't work well.

I was recently working on an open problem of similar kind, and I stumbled upon this sub-problem. How to solve this one(preferably not requiring too much heavy tool)? Thanks.