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

如何编写计算给定数字中所有质数位乘积的方法

质数位乘积方法实现

你上传的半完成代码截图:
半完成代码截图

核心实现逻辑

  • 首先明确0-9的个位数里只有2、3、5、7四个质数,直接预存这个集合做判断即可,不需要额外写复杂的质数判断逻辑,运行效率更高
  • 初始化乘积变量为1,注意不能初始为0,否则所有乘法运算的结果都会是0
  • 逐位取出输入数字的每一位做判断,如果属于质数位就乘到乘积变量里
  • 遍历完成后直接返回乘积变量即可

可运行代码示例(Python)

写法1:数值运算逐位取数

def get_prime_digit_product(num):
    prime_digits = {2, 3, 5, 7}
    product = 1
    # 兼容负数输入
    num = abs(num)
    while num > 0:
        current_digit = num % 10
        if current_digit in prime_digits:
            product *= current_digit
        num = num // 10
    return product

写法2:转字符串逐位遍历

def get_prime_digit_product(num):
    prime_digits = {'2', '3', '5', '7'}
    product = 1
    # 转字符串自动处理数值转字符,兼容负数
    for digit_char in str(abs(num)):
        if digit_char in prime_digits:
            product *= int(digit_char)
    return product

效果验证

传入示例值124563调用方法:
print(get_prime_digit_product(124563))
输出结果为30,完全符合需求。

特殊场景说明

如果输入的数字中没有任何质数位,上述代码会返回1,如果你需要这种场景返回0,可以在返回前加判断:如果product还是初始值1就返回0,可根据实际需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:24:11