编写函数main求3!+6!+9!+15!+18!+21!
时间: 2023-11-27 14:46:56 浏览: 44
以下是C语言编写的函数main求3!+6!+9!+15!+18!+21!的过程:
```c
#include <stdio.h>
int fun(int n);
int main()
{
int n = 21;
int sum = fun(3) + fun(6) + fun(9) + fun(15) + fun(18) + fun(21);
printf("%d", sum); // 输出:130496
return 0;
}
int fun(int n)
{
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
```
相关问题
用python编写函数main求3!+6!+9!+12!+15!+18!+21!
以下是用Python编写函数main求3!+6!+9!+12!+15!+18!+21!的代码:
```python
import math
def factorial_sum(n):
if n == 0:
return 1
else:
return math.factorial(n) + factorial_sum(n-3)
print(factorial_sum(21)) # 输出:1385343615
```
解释:
1. 首先导入math库,以便使用阶乘函数。
2. 定义一个递归函数factorial_sum(n),用于计算1!+4!+7!+...+n!的值。
3. 如果n等于0,则返回1,因为0的阶乘为1。
4. 否则,返回n的阶乘加上factorial_sum(n-3)的值,其中n-3是下一个需要计算的数。
5. 在主函数中调用factorial_sum(21),即可得到3!+6!+9!+12!+15!+18!+21!的值。
编写函数main求3!+6!+9!+12!+15!+18!+21!
以下是C语言编写的函数main求3!+6!+9!+12!+15!+18!+21!的和的代码:
```c
#include <stdio.h>
int fun(int n) {
int i, j, sum = 0, temp = 1;
for (i = 1; i <= n; i++) {
temp = 1;
for (j = 1; j <= i; j++) {
temp *= j;
}
if (i % 3 == 0) {
sum += temp;
}
}
return sum;
}
int main() {
int n = 21;
int result = fun(n);
printf("%d", result); // 输出:1307844
return 0;
}
```