python求前n个阶乘的和实例

我就废话不多说了,还是直接看代码吧!

i = int(input("input"))
sum = 0
if i<1:
  exit()
else:
  while i>0:
    b = 2
    c = 1
    while b<=i:
      c=b*c
      b=b+1
    sum += c
    i = i-1
    # print(c)
print(sum)

补充知识:python 利用递归方法求解n的阶乘和

写程序算出n的阶乘的和

def fn(x):
  if x==1:
    return 1
  def f(x):
    if x==1:
      return 1
    return f(x-1)*x
  return fn(x-1)+f(x)
n = int(input("请输入值"))
print(fn(n))

以上这篇python求前n个阶乘的和实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解用python计算阶乘的几种方法

    第一种:利用functools 工具处理 import functools result = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(5) print(result) 第二种:普通的循环 x = 1 y = int(input("请输入要计算的数:")) for i in range(1, y + 1): x = x * i print(x) 第三种:利用递归的方式 def func(n): if n

  • Python阶乘求和的代码详解

    Python阶乘求和的方法 题目描述: 获得用户输入的整数n,输出 1!+2!+-+n!的值. 如果输入数值为0.负数.非数字或非整数,输出提示信息:输入有误,请输入正整数. 方法一: #factTest1 def main(): a = input() sum = 0 if a.isdigit(): n = eval(a) if n > 0: fact = 1 for i in range(1, n+1): fact *= i sum += fact print(sum) else: prin

  • python计算阶乘和的方法(1!+2!+3!+...+n!)

    方法一:使用while循环来计算 n = int(input()) jie = 1 sum = 0 i = 1 while n >= i: jie = jie * i sum = sum + jie i = i + 1 print(sum) 方法二:使用递归函数调用阶乘方法求和(其中n的值在1~40之间) def jie(n): if n == 1: return 1 else: return n*jie(n-1) n = int(input()) sum = 0 if n < 1 or n

  • Python理解递归的方法总结

    递归 一个函数在执行过程中一次或多次调用其本身便是递归,就像是俄罗斯套娃一样,一个娃娃里包含另一个娃娃. 递归其实是程序设计语言学习过程中很快就会接触到的东西,但有关递归的理解可能还会有一些遗漏,下面对此方面进行更加深入的理解 递归的分类 这里根据递归调用的数量分为线性递归.二路递归与多重递归 线性递归 如果一个递归调用最多开始一个其他递归调用,我们称之为线性递归. 例如: def binary_search(data, target, low, high): """ 二分查

  • python求前n个阶乘的和实例

    我就废话不多说了,还是直接看代码吧! i = int(input("input")) sum = 0 if i<1: exit() else: while i>0: b = 2 c = 1 while b<=i: c=b*c b=b+1 sum += c i = i-1 # print(c) print(sum) 补充知识:python 利用递归方法求解n的阶乘和 写程序算出n的阶乘的和 def fn(x): if x==1: return 1 def f(x): i

  • 翻转数列python实现,求前n项和,并能输出整个数列的案例

    这是刷题时遇到的一道题,题目描述:小Q定义了一种数列称为翻转数列: 给定整数n和m, 满足n能被2m整除.对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';. 例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8. 而n = 4, m = 1, 数列就是: -1, +2, -3, + 4. 小Q现在希望你能帮他算算前n项和为多少. 如果只需求出N项和的话,这里可以有一个简便思路,观察规律哈,比如n

  • python求pi的方法

    本文实例讲述了python求pi的方法,是一篇翻译自国外网站的文章,分享给大家供大家参考. 具体实现方法如下: #_*_ coding=utf-8 *_* ## {{{ http://code.activestate.com/recipes/578130/ (r5) def pi(places=10): """Computes pi to given number of decimal places 参数places表示要返回的pi的小数点后位数 方法:先整体扩大10**8(

  • Python求一批字符串的最长公共前缀算法示例

    本文实例讲述了Python求一批字符串的最长公共前缀算法.分享给大家供大家参考,具体如下: 思路一:这个题一拿到手,第一反应就是以第一个字符串strs[0]为标准,如果其他字符串的第一个字符和str[0]的第一个字符串相同,则再比较第二个字符串,以此类推直到出现不同为止. def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ if not st

  • Python 求数组局部最大值的实例

    求数组局部最大值 给定一个无重复元素的数组A[0-N-1],求找到一个该数组的局部最大值.规定:在数组边界外的值无穷小.即:A[0]>A[-1],A[N-1] >A[N]. 显然,遍历一遍可以找到全局最大值,而全局最大值显然是局部最大值. 可否有更快的办法? 算法描述 使用索引left.right分别指向数组首尾. 求中点 mid = ( left + right ) / 2 A[mid]>A[mid+1],丢弃后半段:right=mid A[mid+1]>A[mid],丢弃前半段

  • Python求凸包及多边形面积教程

    一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham's scan),时间复杂度为O(nlgn):Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h为凸包顶点的个数.这两种算法都按逆时针方向输出凸包顶点. Graham扫描法 用一个栈来解决凸包问题,点集Q中每个点都会进栈一次,不符合条件的点会被弹出,算法终止时,栈中的点就是凸包的顶点(逆时针顺序在边界上). 算法步骤如下图: import sys import math import time

  • Python求区间正整数内所有素数之和的方法实例

    前言 Python的学习记录与分享--PTA程序设计类教学平台.如果你也正在学习关于此类的题目可以仔细阅读这篇文章,了解一下循环结构.素数的基本语法知识. 题目: 7-5就区间正整数内所有素数之和 (20分) [描述]求m-n以内所有素数之和并输出.‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬素数指从大于1,且仅能被1和自己整除的整数.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

  • Python求两个list的差集、交集与并集的方法

    本文实例讲述了Python求两个list的差集.交集与并集的方法.分享给大家供大家参考.具体如下: list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析. 一.两个list差集 如有下面两个数组: a = [1,2,3] b = [2,3] 想要的结果是[1] 下面记录一下三种实现方式: 1. 正常的方式 复制代码 代码如下: ret = [] for i in a:     if i not in b:         ret.append(

  • Python求两个文本文件以行为单位的交集、并集与差集的方法

    本文实例讲述了Python求两个文本文件以行为单位的交集.并集与差集的方法.分享给大家供大家参考.具体实现方法如下: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r').readlines()) print 'ins: %s'%(s1.intersection(s2)) print 'uni: %s'%(s1.union(s2)) print 'dif: %s'%(s1.difference(s2).union(s

  • 利用python求相邻数的方法示例

    前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的一组数 需求: 遍历inputList 所有数字,取出所有数字,判断是否有相邻数, 不相邻数字 和 相邻数字 都以 "数组"形式 添加到 outputList 中, 并且 每个"数组" 里 第一位 递减 补全两位数,末位 递增 补全两位数, 每一个数不能小于0, 不能大

随机推荐