(C语言)求出1!+2!+3!+...+10!的值

方法1:迭代

cpp 复制代码
#include<stdio.h>
int main()
{
	
	long sum = 0,t = 1;
	for(int i = 1;i <= 10;i ++)
	{
		t *= i;
		sum += t;
	 } 
	 printf("%ld\n",sum);
	return 0;
}

方法2:递归

cpp 复制代码
#include<stdio.h>
#define N 10
long factorial(int n)
{
	if(n <= 1)
		return 1;
	return n*factorial(n-1);
}
int main()
{
	long sum = 0;
	for(int i = 0;i <= N;i ++)
		sum += factorial(i);
	printf("%ld\n",sum);
	return 0;
}

运行代码截图:

注:侵权可删

相关推荐
待磨的钝刨6 分钟前
深入理解主成分分析(PCA)
人工智能·线性代数·算法·机器学习
呜喵王阿尔萨斯1 小时前
C/C++ const -- 多义混乱
c语言·开发语言·c++
geovindu1 小时前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
晚风叙码1 小时前
C++ vector底层模拟实现与迭代器失效深度剖析
c++·算法
To_OC10 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_8414956410 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
人邮异步社区14 小时前
怎么把C语言学到精通?
c语言·开发语言
爱刷碗的苏泓舒14 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽17 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法