入门算法练习:计算阶乘之和
问题分析
解决此类求和问题的核心在于循环的应用,尤其是当涉及到多个数值的累加时。此题的关键在于实现两层循环:外层循环用于遍历给定范围内的每个数字,内层循环则负责计算每个数字的阶乘。
题目描述
给定一个正整数n(n<10),任务是计算从1到n的所有整数的阶乘之和,即S=1!+2!+3!+…+n!。
输入格式
输入包含一个正整数n(n<10)。
输出格式
输出计算得到的阶乘之和S。
样例输入
2
样例输出
3
#include
int main()
{int n, i, j;long long s = 0;long long factorial;scanf("%d", &n);for(i = 1; i <= n; i++){factorial = 1;for(j = 1; j <= i; j++)factorial *= j;s += factorial;}printf("%lld\n", s);return 0;
}
学习要点
1. 掌握循环的使用,特别是多层循环的嵌套技巧。
2. 注意变量初始化的位置,例如阶乘计算中的factorial变量应在每次进入内层循环前初始化为1,以确保每次计算都是从1开始。