阶乘和数(python3)

2023-10-31

【问题描述】

一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。例如正整数145,1!+4!+5!等于145,因此145就是一个阶乘和数。输入一个正整数,计算它的各位数字的阶乘之和,并判断它是否是一个阶乘和数。注意:输入的正整数,以及组成它的各位数字的阶乘之和都不会超过int类型的表示范围,并且输入的正整数的最高位不为0。

【输入形式】

从控制台输入一个正整数。

【输出形式】

先输出输入的正整数和一个逗号",",并从个位开始输出组成该正整数的各位数字的阶乘(阶乘计算结果)相加的形式,然后输出等号"="和各位数字阶乘之和,最后在下一行输出字符串"Yes"表示该正整数是阶乘和数,否则输出字符串"No"表示该正整数不是阶乘和数。

【输入样例1】

145

【输出样例1】

145,120+24+1=145
Yes

【输入样例2】

1400
【输出样例2】

1400,1+1+24+1=27
No

【输入样例3】

4

【输出样例3】

4,24=24
No

【样例说明】

样例1中输入的正整数为145,其个位为5,5的阶乘为120,十位为4,4的阶乘为24,百位为1,1的阶乘为1,这些阶乘之和为145,所以145为阶乘和数。样例2中输入的正整数为1400,组成它的各位数字的阶乘之和为27,所以1400不是阶乘和数。样例3中输入的正整数为4,组成它的只有一位数字,其阶乘为24,也不是阶乘和数。

【代码】
```py
def f(n):
    sum = 1
    for i in range(1, n + 1):
        sum *= i
    return sum


if __name__ == '__main__':
    n = input()
    l = list(n)
    l.reverse()
    n = int(n)
    sum = 0
    print("%d," % n, end='')
    for i in range(len(l)):
        l[i] = f(int(l[i]))
        sum += l[i]
        if i == 0:
            print("%d" % l[i], end='')
        else:
            print("+%d" % l[i], end='')
    print("=%d" % sum)
    if n == sum:
        print("Yes")
    else:
        print("No")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阶乘和数(python3) 的相关文章

随机推荐

  • 抓包工具fiddler不抓取火狐浏览器的数据

    fiddler可以抓到google浏览器的包 但是抓不到Firefox浏览器的包 火狐浏览器版本79 0 64 位 fiddler 4 亲测好使 操作步骤 打开Fiddler gt 菜单栏 Tools gt Options gt Conne
  • sdf转smi

    from rdkit import Chem smi Chem MolToSmiles Chem SDMolSupplier sdf path 0
  • 全局组件和局部组件

    1 全局组件和局部组件的区别 全局组件 只需要在main js中导入一次 整个项目都可以直接使用 在main js中导入 局部组件 用一次 导一次 在用到的地方导入 2 局部组件导入步骤 3部曲 1 导入子组件 import Registe
  • 基于Flask框架的python微博数据分析

    Python 微博数据 博文 分析 项目简介 后端采用Flask框架搭建 通过移动端接口获取数据 数据清洗后采用jieba进行词法分析 通过WordCloud制作词云展示 数据的可视化在以后的版本中会细化 版本V0 0 1功能 能够获取用户
  • 1. redis核心数据结构实战与高性能原理剖析

    分布式缓存技术Redis 1 Redis的五种数据结构 1 1 String 1 2 hash 1 3 列表list 1 4 set 1 5 ZSet 2 Redis的单线程和高性能 3 其他高级命令 3 1 scan 渐进式遍历键 本文是
  • 从零开始学习微服务 -微服务基本概述、微服务案例

    1 SpringCloud概述 1 1 互联网应用架构 1 1 1 单体应用架构 在诞 之初 项目的 户量 数据量规模都 较 项目所有的功能模块都放在一个工程中编码 编译 打包并且部署在一个Tomcat容器中的架构模式就是单体应用架构 这样
  • SQL注入基础原理与案例(详细总结)

    SQL注入基础原理与案例 一 前言 二 漏洞概述及危害 1 漏洞概述 2 漏洞危害 3 漏洞防范 三 SQL注入 1 SQL注入方式 1 信息收集 2 数据注入 3 高权限注入 2 判断是否存在注入点 1 新办法 2 老办法 3 字段判断
  • vue使用高德地图--附带移动获取当前城市信息

    高德地图 1 使用准备 申请密钥 vue使用 2 移动地图获取城市案例 注意事项 3 总结 1 使用准备 申请密钥 登录注册高德开放平台进入控制台 创建应用 申请key 生成key和安全密钥 2021之后key需要配合安全密钥使用 注意 安
  • 流媒体直播播放协议:HLS、RTMP、HTTP-FLV

    流媒体直播播放协议 HLS RTMP HTTP FLV 一 推拉流 二 协议介绍 1 HLS 2 RTMP 3 HDL HTTP FLV 一 推拉流 在开始之前 先把流媒体服务中的双端关系说一下 在一个完整的流媒体服务框架中 角色就是 两端
  • 【直接收藏】前端JavaScript面试100问 (上篇)

    1 解释一下什么是闭包 闭包 就是能够读取外层函数内部变量的函数 闭包需要满足三个条件 访问所在作用域 函数嵌套 在所在作用域外被调用 优点 可以重复使用变量 并且不会造成变量污染 缺点 会引起内存泄漏 使用闭包的注意点 由于闭包会使得函数
  • 【代码规范】常见注释规范

    1 在有处理逻辑的代码中 源程序有效注释量必须在20 以上 说明 注释的原则是有助于对程序的阅读理解 在该加的地方都加了 注释不宜太多也不能太少 注释语言必须准确 易懂 简洁 2 文件注释 文件注释写入文件头部 说明 以 开始 示例 文件名
  • Linux踩坑(一)—— 切换到命令行登入不进去

    在最近使用Linux时 切换到使用快捷键 Ctrl Alt F3 切换到命令行时 却登入不进去 1 出现背景 当我使用root登入时登入不进去 而且我自己的用户名是中间有空格的 David Wolfowitz 我在命令行中这样输入一直无法登
  • 期权是什么?期权的优缺点是什么?

    期权是一种合约 有看涨期权和看跌期权两种类型 也就是做多和做空两个方向 走势标的物对应大盘指数 这也是期权与其他金融工具的主要区别之一 可以用于套利 对冲股票和激进下跌的风险 下文介绍期权是什么 期权的优缺点是什么 一 什么是期权 期权的标
  • Vue:子组件使用的细节,子组件中的data,ref的使用,

    我们创建一个table div table tbody tbody table div
  • 【工号不够用了怎么办?】

    题目描述 工号不够用了怎么办 3020年 空间通信集团的员工人数突破20亿人 即将遇到现有工号不够用的窘境 现在 请你负责调研新工号系统 继承历史传统 新的工号系统由小写英文字母 a z 和数字 0 9 两部分构成 新工号由一段英文字母开头
  • 会话状态保持,JSESSIONID,COOKIE,URL重写

    居然有3W的访问量 好 我就把session和cookie的关系先来个总结 注意 是最最简单直白明了的总结了 http协议 协议 协议 重要的说3遍 http协议主要有2大块 请求头和请求体 cookie在http请求头里 就是一个由多个K
  • webpack的基本的配置和应用

    借用下官网的图 从图中我们了解webpack功能就是把带有依赖的模块打包成单一相同类别的静态资源文件 接下来帮大家分析下webpack的核心概念及一些辅助配置 一 核心概念 webpack核心概念有这些 入口 entry 输出 output
  • VMware vCenter Server 证书过期解决

    问题现象 今天一上班同事反应虚拟平台登录不了了 验证功能正常 输入正确密码后跳转如下错误界面 查看证书可以看见证书今天要过期了 但是当时还没到11 53 13 却已经用不了了 原因 从vCenter 6 5 Update2 GA Date
  • 数据结构图在python中的应用

    程序世界里 有很多的数据结构 比如 堆 栈 链表等等 今天要讲的就是图数据结构啦 相信大家都使用过或者听说过图数据库吧 我们就来看看最简单的图数据结构算法 首先先来看一下图长什么样 从上图能看出 比如节点A可以到达C D B 节点B只能到达
  • 阶乘和数(python3)

    问题描述 一个正整数如果等于组成它的各位数字的阶乘之和 则该正整数称为阶乘和数 例如正整数145 1 4 5 等于145 因此145就是一个阶乘和数 输入一个正整数 计算它的各位数字的阶乘之和 并判断它是否是一个阶乘和数 注意 输入的正整数