【C语言】第四十七题→求 1! + 2! + 3! ... +n!;不考虑溢出。

100 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第29天,点击查看活动详情

🚀write in front🚀

🔎大家好,我是泽奀,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🖊

前言

Hello,大家好!我是泽奀。时间过的很快,从第一题到第四十七题已经过去几天了。那么继续开始刷题~每天刷题冲2

题目描述

这个实际上可以用 for 循环就可以做出来了。这道题目实际上是比较容易地一道题目,但比较要考察下逻辑思维能力。

1! + 2! + 3! ... +n! 假设是4那么→1+1×2+1×2×3+1×2×3×4。

记住:题目是不需要考虑程序结果最终是否栈溢出了。
遇到这种题目实际上可以参考代入法的一个方法来解决此类题目会好很多。

题目代码

#pragma once  
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main(void)
{
	//代入法 1*1 + 1*2 + 1*2*3 + 1*2*3*4 - 假设输入数字:4
	int i = 0;
	int j = 0;
	int num = 0;
	int sum = 0;
	printf("请输入数字->:");
	scanf("%d", &num);
	for (i = 1; i <= num; i++)
	{
		int ret = 1;//注意->ret的位置
		for (j = 1; j <= i; j++)
		{
			ret = ret * j;//每一次阶层之和  
		}
		sum = ret + sum;//总和
	}
	printf("sum = %d\n", sum);
	return 0;
}

运行结果

🖊运行结果如下↓

**请输入数字->:4
**sum = 33

最后

那么这道题目就已经解决了,实际上这种题目还是比较容易的(^∀^●)ノシ,外面一层嵌套,里面一层嵌套。再用代入法来做这道题目内层嵌套推出了直接就用sum统计ret之和。