编写一个程序，使用递归的方式计算给定数字的阶乘。

给定一个正整数n，n<=10。
以下是Python语言的递归程序，计算一个正整数n的阶乘：

```python
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
```

实际使用时，可以输入一个正整数n，调用该函数计算它的阶乘：

```python
n = int(input("Please enter a positive integer: "))
print(factorial(n))
```

注意，由于计算阶乘的过程中涉及到递归，因此当传入的n过大时，程序可能会出现栈溢出等异常，需要合理设置递归深度或采用其他计算方法。 在本题的限制下10不会出现问题。