7-49 求前n项的阶乘之和 (15 分)

从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+...+n!的和

输入格式:

输入一个大于1的整数。例如:输入20。

输出格式:

输出一个整数。例如:2561327494111820313。

输入样例:

在这里给出一组输入。例如:

20

输出样例:

在这里给出相应的输出。例如:

2561327494111820313
def f(n):
    ans = 1
    for i in range(1,n+1):
         ans *= i
    return ans
n = int(input())
sum = 0
for i in range(1,n+1):
    sum += f(i)
print(sum)

  

原文地址:https://www.cnblogs.com/aimilu/p/11819178.html

时间: 2024-10-12 20:45:19

7-49 求前n项的阶乘之和 (15 分)的相关文章

码农谷 求前N项之和

题目描述 有一分数序列:2/1.3/2.5/3.8/5.13/8.21/13.......求出这个数列的前N项之和,保留两位小数. 输入描述 N 输出描述 数列前N项和 样例 输入: 10 输出: 16.48 第一次code: 使用递归: 1 import java.util.*; 2 import java.math.BigDecimal; 3 4 public class jisuanrong 5 { 6 public static double SimpleAdding(int num)

hdu4686 简单的矩阵快速幂求前n项和

HDU4686 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4686 题意:题目说的很清楚了,英语不好的猜也该猜懂了,就是求一个表达式的前n项和,矩阵快速幂一般多加一行一列来完成这个加的操作.具体看代码吧.比较简单,唯一有一点坑的地方,就是ax和bx可能比较大,在求ax*bx的时候,要考虑溢出的问题,需要先mod.其他没有了,直接看代码吧! //Author: xiaowuga #include <bits/stdc++.h> #define

Java50道经典习题-程序20 求前20项之和

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.分析:请抓住分子与分母的变化规律.三个连续分数之间的规律是:上两个分子之和等于第三个分数的分子,上两个分母之和等于第三个分数的分母 1 public class Prog20{ 2 public static void main(String[] args){ 3 double n1 = 1; 4 double n2 = 1; 5 double fraction = n1/n2; 6 dou

js 求前n项的 fibnaci 数列和

1 function f(n) { 2 var num1 = 1, 3 num2 = 1; 4 if (n == 1) 5 document.write(num1);//n=1,输出1 6 else if (n > 1) { 7 document.write(num1 + " " + num2 + " ");//n>=2;先输出前2项 8 for (var i = 2; i < n; i++) { 9 var result = num1 + num

循环-24. 求给定序列前N项和之二(15)

本题要求编写程序,计算序列 1! + 2! + ... 的前N项之和. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出整数结果. 输入样例: 5 输出样例: 153 1 #include <iostream> 2 #include <stdio.h> 3 #include <math.h> 4 #include <string> 5 #include <stdlib.h> 6 7 using namespace:

求前n项数的阶乘

思路: 外层循环控制个数 内层循环控制 sum=1!+2!+3!+4!...... int all=0; Scanner input=new Scanner(System.in); System.out.println("请输入数字"); int num=input.nextInt(); for(int i=1;i<=num;i++) { int sum=1; for(int j=1;j<=i;j++) { sum*=j; } all+=sum; } System.out.

求前n项的和【VB代码实现】

求的和. For语句实现 Private Sub Command1_Click() Dim s As Long n = Val(Text1.Text) s = 0 For i = 1 To n s = s + i Next i Label4.Caption = Str(s) End Sub Do While语句实现 Private Sub Command1_Click() Dim s As Long, i As Integer, n As Integer n = Val(Text1.Text)

C语言练习010:求1到10的阶乘之和

#include <stdio.h> int factorial(int n) { if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1); } int main() { int n=10; int sum=0; int i; for(i=1;i<=n;i++){ int m=factorial(i); printf("%d->%d\n",i,m); sum+=m; } printf("

习题7-4 求矩阵各行元素之和 (15分)

本题要求编写程序,求一个给定的m×n矩阵各行元素之和. 输入格式: 输入第一行给出两个正整数m和n(1).随后m行,每行给出n个整数,其间 以空格分隔. 输出格式: 每行输出对应矩阵行元素之和. 输入样例: 3 2 6 3 1 -8 3 12 输出样例: 9 -7 15 #include<stdio.h> int main() { int i,j; int n,m; int sum=0; scanf("%d%d",&m,&n);//m表示行,n表示一行n个整