------
## 最终结论
```python
def no_of_subsequences(arr, k):
    count = 0

    def generate_subsequences(index, current_product):
        nonlocal count
        if index == len(arr):
            return
        
        # Include the current element
        new_product = current_product * arr[index]
        if new_product < k:
            count += 1  # Count this subsequence
            generate_subsequences(index + 1, new_product)
        
        # Exclude the current element
        generate_subsequences(index + 1, current_product)

    generate_subsequences(0, 1)  # Start with product as 1 (neutral element for multiplication)
    return count

# Test cases
assert no_of_subsequences([1,2,3,4], 10) == 11
assert no_of_subsequences([4,8,7,2], 50) == 9
assert no_of_subsequences([5,6,7,8], 15) == 4
```