Python实现四种方法求解计算阶乘和(1!+2!+3!+...+n!)
求解给定数字的阶乘是非常简单的一件事,用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!)相关推荐
- 【Java】使用Java调用Python的四种方法
写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...
- 四种方法求解最大子段和问题
题目描述 给定一段长度为n的序列,我们需要找到其中一个连续的子段,使这个子段中各个元素加和最大,如果这个数组中全为负整数,我们就定义这个子段和为0. 题目分析 首先我们的目的是找一个局部的子段但加和是 ...
- 由浅入深CIL系列:5.抛砖引玉:判断string是否为空的四种方法的CIL代码看看效率如何?...
本节将接触几个新的CIL操作码如下 ldc.i4.0 将整数值 0 作为 int32 推送到计算堆栈上 Ceq 比较两个值.如果这两个值相等,则将整数值 1 (int32) ...
- 百钱买百鸡python编程列表推导式_使用循环和列表推导式两种方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?...
[程序题]编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 1/1+1/3+...+1/n [单选题]患者男,67岁.确诊为原发性支气管肺癌,为行手术 ...
- python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍
本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...
- python单向认证_使用Python进行单向方差分析的四种方法
python单向认证 The current post will focus on how to carry out between-subjects ANOVA using Python. As m ...
- Python | 判定IP地址合法性的四种方法
你好,我是悦创. IP 合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法. 先了解 IPV4 的 IP 格 ...
- C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)
众所周知,斐波那契数列是非常经典的一个数列,它的数学公式如下 为了便于观察,我们列出它的几项:0 1 1 2 3 5 8 13 21...... 下面我们将介绍四种方法来用C语言计算机 ...
- Python 数据降噪处理的四种方法——均值滤波、小波变换、奇异值分解、改变binSize
Python 数据降噪处理的四种方法--均值滤波.小波变换.奇异值分解.改变binSize github主页:https://github.com/Taot-chen 一.均值滤波 1)算法思想 给定 ...
- python写错了怎么更改-Python中修改字符串的四种方法
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...
最新文章
- python list越界原因(list assignment index out of range)
- Ubuntu解决gedit warning问题的方法
- The file or directory to be published does not exist: /data/vendor/bower/jquery/dist
- 关于网上cython书籍的调研
- 10岁起编程,并不认为自己是“黑客”
- c++ 字符串相等比较
- Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
- Ethercat解析(七)之主站框架
- 阿里飞天大数据平台正式亮相:国内最大计算平台
- HttpClientHelper的封装
- 职场不是家,不会方法,如何混职场
- kafka权威指南读书心得
- 卸载并安装谷歌浏览器
- DP++转HDMI1.4
- RobotStudio 机器人的直线运动控制
- 写在汶川地震发生之后的思考
- Python几种主流框架,知道三种你就是大神,干货建议收藏
- 计算机三级应该学什么条件,计算机三级报名条件
- Android系统应用隐藏和应用禁止卸载
- 基于低秩张量的高光谱图像重建理论基础-基础知识学习
热门文章
- [每日更新-MySQL基础]-1.认识MySQL
- 集群介绍 keepalived介绍 用keepalived配置高可用集群
- PostgreSQL Oracle 兼容性之 - rowid (CREATE TABLE WITH OIDS)
- 【转】HBase架构解析
- SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
- 【笔记】《编写高质量代码:改善c#程序的157个建议》-第1章 基本语言要素(SamWang)...
- 多语言可视化编辑webControl 2.0版
- oozie的常见错误
- 学习OpenflowJava
- [ZPG TEST 110] 多边形个数【DP】