阿沛阿沛 2023-03-30 11:02 采纳率: 100%
浏览 21
已结题

python这个好难怎么做

找出800-1200之间所有符合以下条件的数:该数的各位数字的阶乘和为素数。按如下格式打印出所有符合条件的数:
807:8!+0!+7!=45361
817:8!+1!+7!=45361
870:8!+7!+0!=45361
871:8!+7!+1!=45361
1002:1!+0!+0!+2!=5
1012:1!+0!+1!+2!=5
1020:1!+0!+2!+0!=5等等

程序中包含两个函数,分别用于实现判断素数和计算阶乘

  • 写回答

4条回答 默认 最新

  • m0_61899108 2023-03-30 11:23
    关注

    代码:

    def is_prime(n):
        """
        判断一个数是否为素数
        """
        if n <= 1:
            return False
        for i in range(2, int(n ** 0.5) + 1):
            if n % i == 0:
                return False
        return True
    def factorial(n):
        """
        计算一个数的阶乘
        """
        if n == 0:
            return 1
        else:
            return n * factorial(n-1)
    for i in range(800, 1201):
        digits = [int(d) for d in str(i)]
        factorial_sum = sum([factorial(d) for d in digits])
        if is_prime(factorial_sum):
            print(f"{i}:{'+'.join([f'{d}!={factorial(d)}' for d in digits])}={factorial_sum}")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 哪个tomcat中startup一直一闪而过 找不出问题
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网