------
## 最终结论
```python
def minEggDrops(K, N):
    # Create a 2D array to store the minimum number of moves
    dp = [[0] * (N + 1) for _ in range(K + 1)]
    
    # Fill the base cases
    for n in range(1, N + 1):
        dp[1][n] = n  # Only one egg, we need to do n drops
    
    for k in range(1, K + 1):
        dp[k][0] = 0  # Zero floors require zero drops
    
    # Fill the dp array using the defined relation
    for k in range(2, K + 1):
        for n in range(1, N + 1):
            dp[k][n] = float('inf')
            for x in range(1, n + 1):
                # Max of two scenarios: egg breaks or does not break
                worst_case = max(dp[k - 1][x - 1], dp[k][n - x])
                dp[k][n] = min(dp[k][n], worst_case + 1)
    
    return dp[K][N]

# Example usage:
print(minEggDrops(1, 2))  # Output: 2
print(minEggDrops(2, 6))  # Output: 3
print(minEggDrops(3, 14)) # Output: 4
```