C 练习实例25
题目:求 1 + 2! + 3! + ... + 20! 的和。
程序分析:此程序只是把累加变成了累乘。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include <stdio.h>
// 计算阶乘的函数
unsigned long long factorial(int n) {
unsigned long long result = 1;
for(int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
unsigned long long sum = 0;
// 计算1 + 2! + 3! + ... + 20!
for(int i = 1; i <= 20; i++) {
sum += factorial(i);
}
// 输出结果
printf("1 + 2! + 3! + ... + 20!的和是: %llu\n", sum);
return 0;
}
以上实例输出结果为:
1 + 2! + 3! + ... + 20!的和是: 2561327494111820313
代码解析
- 头文件: 包含必要的头文件
stdio.h
。 - 阶乘函数:
unsigned long long factorial(int n)
函数用于计算给定整数n
的阶乘,返回值类型为unsigned long long
以处理较大的数值。- 初始化
result
为1。 - 使用
for
循环从1乘到n
。
- 初始化
- 主函数:
- 定义
sum
变量来累加所有阶乘的和,类型为unsigned long long
以处理较大的数值。 - 使用
for
循环计算从1到20的阶乘,并将结果累加到sum
。 - 使用
printf
函数输出最终结果。
- 定义