You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python递归函数计算整数输入的各位数字平方和

整数各位平方和递归实现方案

直接补充递归逻辑的完整代码如下:

def squarer(x):                           # 此处x为整数,非列表
    # 统一转为绝对值处理,兼容负数输入,若确定输入均为正整数可删除该行
    x = abs(x)
    # 递归终止条件:拆分到仅剩个位数时直接返回平方值
    if x < 10:
        return x ** 2
    # 每次取最后一位计算平方,剩余高位传入下一轮递归累加结果
    return (x % 10) ** 2 + squarer(x // 10)

逻辑说明

  • 终止条件:当输入整数小于10时,说明已经完成所有位数的拆分,直接返回当前数字的平方即可结束递归
  • 递归拆分规则:
    • 用x % 10取当前整数的最后一位数字,计算平方值
    • 用x // 10对整数做整除取整,自动去掉最后一位,作为参数传入下一轮递归
    • 累加当前位平方值和后续递归返回的高位平方和,得到最终结果

效果验证

输入squarer(123)时的计算流程:
3² + squarer(12) = 9 + (2² + squarer(1)) = 9 +4 +1 =14,完全符合需求。

内容的提问来源于stack exchange,提问作者Jakeyyyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:45:05