服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c语言阶乘之和问题示例详解

c语言阶乘之和问题示例详解

2021-08-01 13:21xiaoli130134 C/C++

这篇文章主要给大家介绍了关于c语言阶乘之和问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c语言具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

题目描述

用高精度计算出S=1!+2!+3!+…+n!(n≤50)

其中“!”表示阶乘,例如:5!=5*4*3*2*1。

输入输出格式

输入格式:

一个正整数N。

输出格式:

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

输入输出样例

输入样例

3

输出样例

9

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
int fun(int n)
{
 if(n==1||n==0)
 {
 return 1;
 }
 if(n>1)
 {
 return fun(n-1)*n;
 }
}
int main()
{
 int N,i,sum=0;
 scanf("%d",&N);
 for(i=1;i<=N;i++)
 {
 sum=sum+fun(i);
 }
 printf("%d\n",sum);
 return 0;
}

或是

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
int main()
{
 int N,i,sum=0,t,h;
 scanf("%d",&N);
 for(i=1;i<=N;i++)
 {
 t=1;
    h=i;
 while(h)
 {
  t=t*h;
  h--;
 }
 sum=sum+t;
 }
 printf("%d\n",sum);
 return 0;
}

或是

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<String.h>
int main()
{
 int N,i,sum=0,t=1;
 int f,p=0;
 scanf("%d",&N);
 for(i=1;i<=N;i++)
 {
 t=i*t;
 f=p+t;
 p=f;
 
 }
 printf("%d\n",f);
 return 0;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。

原文链接:https://blog.csdn.net/xiaoli130134/article/details/80287121

延伸 · 阅读

精彩推荐