Let $n$ and $k$ be positive integers. Find all monic polynomials $f\in \mathbb{Z}[X]$, of degree $n$, such that $f(a)$ divides $f(2a^k)$ for $a\in \mathbb{Z}$ with $f(a)\neq 0$.
1. **Expressing the given condition in polynomial form:**
   We start with the condition that \( f(a) \) divides \( f(2a^k) \) for all \( a \in \mathbb{Z} \) such that \( f(a) \neq 0 \). This can be written as:
   \[
   f(2a^k) = g(a) f(a)
   \]
   for some polynomial \( g(a) \in \mathbb{Z}[X] \).

2. **Considering the polynomial division:**
   Let \( f(2a^k) = g(a) f(a) + h(a) \) where the degree of \( h(a) \) is less than the degree of \( f(a) \), or \( h(a) \) is the zero polynomial. Since \( f(a) \) divides \( f(2a^k) \), we have:
   \[
   f(a) \mid h(a)
   \]
   for all \( a \in \mathbb{Z} \) such that \( f(a) \neq 0 \).

3. **Analyzing the polynomial \( h(a) \):**
   If \( h(a) \) is not the zero polynomial, then the degree of \( h(a) \) is less than the degree of \( f(a) \). For sufficiently large \( a \), both \( f(a) \) and \( h(a) \) are non-zero, and \( |f(a)| > |h(a)| \). This implies that \( f(a) \mid h(a) \) does not hold, leading to a contradiction. Therefore, \( h(a) \) must be the zero polynomial.

4. **Simplifying the equation:**
   Since \( h(a) \) is the zero polynomial, we have:
   \[
   f(2a^k) = g(a) f(a)
   \]
   This implies that if \( \alpha \) is a root of \( f \), then \( 2\alpha^k \) is also a root of \( f \).

5. **Considering the sequence of roots:**
   Define the sequence \( x_1 = \alpha \) and \( x_{m+1} = 2(x_m)^k \) for all positive integers \( m \). Clearly, \( x_1, x_2, \ldots \) are all roots of \( f \).

6. **Analyzing the magnitude of \( \alpha \):**
   - **Case 1:** \( |\alpha| = 0 \). Then \( \alpha = 0 \).
   - **Case 2:** \( |\alpha| > 0.5^{\frac{1}{k-1}} \). Then \( |x_1| < |x_2| < \cdots \), so \( x_i \) are pairwise distinct, implying that \( f \) has infinitely many roots. Thus, \( f \) must be the zero polynomial, which is a contradiction since \( f \) is monic.
   - **Case 3:** \( |\alpha| < 0.5^{\frac{1}{k-1}} \). Then \( |x_1| > |x_2| > \cdots \), so \( x_i \) are pairwise distinct, implying that \( f \) has infinitely many roots. Thus, \( f \) must be the zero polynomial, which is a contradiction since \( f \) is monic.
   - **Case 4:** \( |\alpha| = 0.5^{\frac{1}{k-1}} \). This case is potentially possible.

7. **Summarizing the cases:**
   Summing up, \( \alpha = 0 \) or \( |\alpha| = 0.5^{\frac{1}{k-1}} \). If \( f \) has at least one root \( \alpha \) such that \( |\alpha| = 0.5^{\frac{1}{k-1}} \), the modulus of the coefficient of the power, that is the lowest power with a nonzero coefficient, must be a positive integer multiple of \( 0.5^{\frac{1}{k-1}} \). However, this can never be an integer, leading to a contradiction.

8. **Conclusion:**
   Thus, all roots of \( f \) are \( 0 \), so \( f = X^n \) is the only possibility.

The final answer is \( \boxed{ f = X^n } \).