求解给定数字的阶乘是非常简单的一件事,用Python来实现也是非常简单的,这里的问题是给你一堆连续数字,求解他们的阶乘总和,这里我一共想到了4种不同的实现方法来解决上述问题,并对其做了扩充,上面是连续数字的阶乘和,我给的方法只需要稍加修改同样可以求解不连续数字的阶乘和,下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division'''
__Author__:沂水寒城
功能:  Python实现四种方法求解计算阶乘和(1!+2!+3!+...+n!)'''from functools import reduce
from scipy.special import factorialdef func(x):'''单个数字的阶乘函数'''return 1 if x == 1 else x * func(x - 1)def demo1(N=10):'''连续数值【可不连续】列表总阶乘和'''return sum(func(x) for x in range(1,N+1))def demo2(N=10):'''借助于 reduce 函数实现'''return sum([reduce(lambda x,y:x*y, range(1,i+1)) for i in range(1,N+1)])def demo3(N=10):'''借助于Python内置阶乘函数 factorial 实现'''return sum(factorial(range(1,N+1), exact=True))def demo4(N=10):'''借助于while实现'''total=0while N:total+=func(N)N-=1return totalif __name__=='__main__':print('N=10====>',demo1(N=10))print('N=10====>',demo2(N=10))print('N=10====>',demo3(N=10))print('N=10====>',demo4(N=10))

结果如下所示:

记录一下!

Python实现四种方法求解计算阶乘和(1!+2!+3!+...+n!)相关推荐

  1. 【Java】使用Java调用Python的四种方法

    写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...

  2. 四种方法求解最大子段和问题

    题目描述 给定一段长度为n的序列,我们需要找到其中一个连续的子段,使这个子段中各个元素加和最大,如果这个数组中全为负整数,我们就定义这个子段和为0. 题目分析 首先我们的目的是找一个局部的子段但加和是 ...

  3. 由浅入深CIL系列:5.抛砖引玉:判断string是否为空的四种方法的CIL代码看看效率如何?...

      本节将接触几个新的CIL操作码如下 ldc.i4.0    将整数值 0 作为 int32 推送到计算堆栈上 Ceq         比较两个值.如果这两个值相等,则将整数值 1 (int32) ...

  4. 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...

    [程序题]编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n [单选题]患者男,67岁.确诊为原发性支气管肺癌,为行手术 ...

  5. python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍

    本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...

  6. python单向认证_使用Python进行单向方差分析的四种方法

    python单向认证 The current post will focus on how to carry out between-subjects ANOVA using Python. As m ...

  7. Python | 判定IP地址合法性的四种方法

    你好,我是悦创. IP 合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法. 先了解 IPV4 的 IP 格 ...

  8. C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)

    众所周知,斐波那契数列是非常经典的一个数列,它的数学公式如下 为了便于观察,我们列出它的几项:0  1  1  2  3  5  8  13  21...... 下面我们将介绍四种方法来用C语言计算机 ...

  9. Python 数据降噪处理的四种方法——均值滤波、小波变换、奇异值分解、改变binSize

    Python 数据降噪处理的四种方法--均值滤波.小波变换.奇异值分解.改变binSize github主页:https://github.com/Taot-chen 一.均值滤波 1)算法思想 给定 ...

  10. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

最新文章

  1. python list越界原因(list assignment index out of range)
  2. Ubuntu解决gedit warning问题的方法
  3. The file or directory to be published does not exist: /data/vendor/bower/jquery/dist
  4. 关于网上cython书籍的调研
  5. 10岁起编程,并不认为自己是“黑客”
  6. c++ 字符串相等比较
  7. Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
  8. Ethercat解析(七)之主站框架
  9. 阿里飞天大数据平台正式亮相:国内最大计算平台
  10. HttpClientHelper的封装
  11. 职场不是家,不会方法,如何混职场
  12. kafka权威指南读书心得
  13. 卸载并安装谷歌浏览器
  14. DP++转HDMI1.4
  15. RobotStudio 机器人的直线运动控制
  16. 写在汶川地震发生之后的思考
  17. Python几种主流框架,知道三种你就是大神,干货建议收藏
  18. 计算机三级应该学什么条件,计算机三级报名条件
  19. Android系统应用隐藏和应用禁止卸载
  20. 基于低秩张量的高光谱图像重建理论基础-基础知识学习

热门文章

  1. [每日更新-MySQL基础]-1.认识MySQL
  2. 集群介绍 keepalived介绍 用keepalived配置高可用集群
  3. PostgreSQL Oracle 兼容性之 - rowid (CREATE TABLE WITH OIDS)
  4. 【转】HBase架构解析
  5. SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
  6. 【笔记】《编写高质量代码:改善c#程序的157个建议》-第1章 基本语言要素(SamWang)...
  7. 多语言可视化编辑webControl 2.0版
  8. oozie的常见错误
  9. 学习OpenflowJava
  10. [ZPG TEST 110] 多边形个数【DP】