"""
问题描述:
给定两个整数 x 和 n,计算 x 的 n 次方.
"""

'''
1.问题:给定两个整数 x 和 n,计算 x 的 n 次方
    1.1 明确问题: 用python代码实现,x的n次方 /其计算规律/递归函数设计的步骤
    1.2 原因: 计算规律不清晰,设计函数步骤不清晰
        1.2.1 计算规律: 
            3,1 = 3
            3,2 = 3*3
            3,3 = 3*上一步的结果= 3*  3*3
            3,n = 3*(n-1)的结果 = 3*
            结构相同的 "操作": x乘以
            结构相同的 "子问题的结果": n-1的结果 
            组合: x * 函数(n-1)
            
2.设计递归函数步骤:
    2.1 明确函数做什么
        递归函数
        传递2个参数
        乘法
        返回值 int的组合, 组合 = 结构相同的操作 + 调用自身(收敛)
    2.2 基准情形
        n=1时,值等于x.   特殊情况:n=0时,x结果为1; 参数不为int;
    2.3 寻找递归关系      
            操作是: x乘以
            子问题的结果: n-1的结果 
            组合: x * 函数(n-1)
    2.4 验证收敛性: 最终一定得到基准情形的值
        排除n=0为基准,只是例外.
'''
def xn(x,n):

    if n==1:
        return x
    elif n>1:
        return x*xn(x, n-1)
    else:
        return 1

print(xn(3,1))

print(xn(1,-1))

PixPin_2026-02-03-练习4