编写求阶乘的函数fact(n),利用它求组合C135。
时间: 2024-04-30 20:25:10 浏览: 21
以下是Python语言的实现:
```python
def fact(n):
if n == 0 or n == 1:
return 1
else:
return n * fact(n-1)
# 计算组合C(135)
C = fact(135) / (fact(5) * fact(130))
print(C)
```
注意到135!的计算可能会超出计算机可处理的范围,因此可以先化简式子,利用阶乘的性质,将135!化简为130!乘以一些小数,再进行计算。
相关问题
编写求阶乘的函数fact(n),利用它求组合Ca5。
以下是Python实现:
```python
def fact(n):
"""求阶乘的函数"""
if n == 0:
return 1
else:
return n * fact(n-1)
# 计算组合C(5, a)
result = fact(5) // (fact(5-3) * fact(3))
print(result)
```
输出结果为10,表示组合C(5, 3)等于10。其中,fact(n)函数用来计算n的阶乘,组合公式C(n, m) = n! / (m! * (n-m)!),因此计算C(5, 3)需要用到fact(5)和fact(2)。
C语言 编写求阶乘函数fact(),利用它计算并返回1!+2!+3!+……+n!的值。
以下是 C 语言编写的求阶乘函数fact(),并计算1!+2!+3!+……+n!的代码:
```c
#include <stdio.h>
int fact(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fact(n - 1);
}
}
int main() {
int n, i;
int sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += fact(i);
}
printf("1!+2!+3!+……+n!的值为:%d", sum);
return 0;
}
```
代码说明:
- fact() 函数用于计算一个正整数的阶乘;
- 在主函数中,先输入一个正整数n,然后利用 for 循环计算1!+2!+3!+……+n!的和,最后输出结果。
希望能对你有所帮助!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)