------
## 最终结论
```python
def new21Game(N, K, W):
    if K == 0 or N >= K + W - 1:
        return 1.0

    dp = [0.0] * (N + 1)
    dp[0] = 1.0
    W_sum = 1.0
    result = 0.0

    for i in range(1, N + 1):
        dp[i] = W_sum / W
        if i < K:
            W_sum += dp[i]
        else:
            result += dp[i]
        if i - W >= 0:
            W_sum -= dp[i - W]

    return result

# Example usage:
print(new21Game(10, 1, 10)) # Output: 1.00000
print(new21Game(6, 1, 10)) # Output: 0.60000
print(new21Game(21, 17, 10)) # Output: ~0.73278
```