Does there exist a function $f : Z^+ \to Z^+$ such that $f(f(n)) = 2n$ for all positive integers $n$? Justify your answer, and if the answer is yes, give an explicit construction.
To determine whether there exists a function \( f : \mathbb{Z}^+ \to \mathbb{Z}^+ \) such that \( f(f(n)) = 2n \) for all positive integers \( n \), we need to construct such a function explicitly and verify that it satisfies the given condition.

1. **Define the function for odd numbers:**
   Let's start by defining \( f \) for odd numbers. Suppose \( f(4k+1) = 4k+3 \) and \( f(4k+3) = 8k+2 \). We need to check if these definitions satisfy \( f(f(n)) = 2n \).

   - For \( n = 4k+1 \):
     \[
     f(4k+1) = 4k+3
     \]
     \[
     f(f(4k+1)) = f(4k+3) = 8k+2
     \]
     \[
     2(4k+1) = 8k+2
     \]
     This is consistent.

   - For \( n = 4k+3 \):
     \[
     f(4k+3) = 8k+2
     \]
     \[
     f(f(4k+3)) = f(8k+2)
     \]
     We need to define \( f \) for even numbers to proceed further.

2. **Define the function for even numbers:**
   Let's define \( f(2n) = 2f(n) \). We need to check if this definition is consistent with the previous definitions for odd numbers.

   - For \( n = 2m \):
     \[
     f(2m) = 2f(m)
     \]
     \[
     f(f(2m)) = f(2f(m)) = 2f(f(m))
     \]
     Since \( f(f(m)) = 2m \) by the given condition, we have:
     \[
     f(f(2m)) = 2(2m) = 4m
     \]
     \[
     2(2m) = 4m
     \]
     This is consistent.

3. **Verify the function for all positive integers:**
   We need to ensure that the function \( f \) defined as:
   \[
   f(4k+1) = 4k+3, \quad f(4k+3) = 8k+2, \quad f(2n) = 2f(n)
   \]
   satisfies \( f(f(n)) = 2n \) for all positive integers \( n \).

   - For \( n = 4k+1 \):
     \[
     f(4k+1) = 4k+3
     \]
     \[
     f(f(4k+1)) = f(4k+3) = 8k+2
     \]
     \[
     2(4k+1) = 8k+2
     \]

   - For \( n = 4k+3 \):
     \[
     f(4k+3) = 8k+2
     \]
     \[
     f(f(4k+3)) = f(8k+2)
     \]
     Since \( 8k+2 \) is even, we use \( f(2n) = 2f(n) \):
     \[
     f(8k+2) = 2f(4k+1) = 2(4k+3) = 8k+6
     \]
     \[
     2(4k+3) = 8k+6
     \]

   - For \( n = 2m \):
     \[
     f(2m) = 2f(m)
     \]
     \[
     f(f(2m)) = f(2f(m)) = 2f(f(m))
     \]
     Since \( f(f(m)) = 2m \):
     \[
     f(f(2m)) = 2(2m) = 4m
     \]
     \[
     2(2m) = 4m
     \]

Thus, the function \( f \) defined as:
\[
f(4k+1) = 4k+3, \quad f(4k+3) = 8k+2, \quad f(2n) = 2f(n)
\]
satisfies \( f(f(n)) = 2n \) for all positive integers \( n \).

The final answer is \( \boxed{ f(4k+1) = 4k+3, \quad f(4k+3) = 8k+2, \quad f(2n) = 2f(n) } \)