栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

P1009 [NOIP1998 普及组] 阶乘之和

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

P1009 [NOIP1998 普及组] 阶乘之和

​
本题在洛谷的P1009:本题

注意啦:这道题需要用到阶乘知识可以去:前面有阶乘的方法

[NOIP1998 普及组] 阶乘之和 题目描述

用高精度计算出 S = 1 ! + 2 ! + 3 ! + ⋯ + n ! S = 1! + 2! + 3! + cdots + n! S=1!+2!+3!+⋯+n!( n ≤ 50 n le 50 n≤50)。

其中 ! 表示阶乘,例如: 5 ! = 5 × 4 × 3 × 2 × 1 5! = 5 times 4 times 3 times 2 times 1 5!=5×4×3×2×1。

输入格式

一个正整数 n n n。

输出格式

一个正整数 S S S,表示计算结果。

样例 #1 样例输入 #1
3
样例输出 #1
9
提示

【数据范围】

对于 100 % 100 % 100% 的数据, 1 ≤ n ≤ 50 1 le n le 50 1≤n≤50。

思路
  • 1、要用到 阶乘
  • 2、输入n
  • 3、for循环每个数,用一个函数 f(n) 求n的阶乘,再用个x累加
  • 4、输出x
  • 5、注意事项
    有可能会爆掉,建议用long long int
    C/C++/JS可能会错误,因为需要高精度,这个可以自己添加一下,以后我会发文章
    Python本身运算符使用高精度的,所以可以不需要
代码
n = int(input())
res = 0
def jc(n):
    if n <= 1:
        return 1
    else:
        return (n*jc(n-1))
for i in range(1,n+1):
    res+=jc(i)
print(res)

看到这了,还不点个赞  ~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号