【题目描述】
给定一个正整数n,需要求其各位数字的阶乘之和是否等于n,即判断n是否是一个阶乘和数
【输入形式】
从控制台输入一个正整数。
【输出形式】
先输出输入的正整数和一个逗号,并从最高位开始输出组成该正整数的各位数字的阶乘相加形式,
然后输出等号“=”和各位数字阶乘之和,最后在下一行输出字符串Yes表示该正整数是阶乘和数,
否则输出字符串No表示该正整数不是阶乘和数,输出Yes或No后输出回车换行符。
所有输出字符之间都没有空格分隔。
案例代码
# 输入正整数
num = int(input())
# 求各位数字的阶乘之和
def factorial_sum(num):
total_sum = 0
for digit in str(num):
factorial = 1
for i in range(1, int(digit) + 1):
factorial *= i
total_sum += factorial
return total_sum
# 输出结果
print(f"{num},", end="")
for digit in str(num):
print(f"{digit}!", end="+")
print(f"={factorial_sum(num)}")
if num == factorial_sum(num):
print("Yes")
else:
print("No")
© 版权声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:317608094@qq.com
THE END
暂无评论内容