设计一个求n!的函数fac(),在主函数调用此函数计算m!+n!+k!的和(m,n,k的值由键盘输入)
时间: 2023-09-30 07:04:09 浏览: 102
好的,以下是你需要的代码:
```python
# 定义一个求阶乘的函数
def fac(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 主函数
if __name__ == '__main__':
m = int(input("请输入m的值:"))
n = int(input("请输入n的值:"))
k = int(input("请输入k的值:"))
sum = fac(m) + fac(n) + fac(k)
print("m! + n! + k! 的和为:", sum)
```
首先定义了一个函数`fac(n)`,用于求n的阶乘。然后在主函数中,输入m、n、k的值,并使用`fac()`函数分别求出它们的阶乘,最后将它们的和输出。
相关问题
用递归函数编写一个函数fac(),它的功能是求n!。在主函数中调用fac(),它的功能是求n!。在主函数中调用fac(),分别是求5!,3! +5! +7! +9!,3! +7! +15! +10! 用double定义
好的,以下是递归函数fac()的定义和用double定义的实现代码:
```c++
#include <iostream>
double fac(int n) {
if (n == 1) {
return 1;
} else {
return n * fac(n-1);
}
}
int main() {
double ans1 = fac(5);
double ans2 = fac(3) + fac(5) + fac(7) + fac(9);
double ans3 = fac(3) + fac(7) + fac(15) + fac(10);
std::cout << "5! = " << ans1 << std::endl;
std::cout << "3!+5!+7!+9! = " << ans2 << std::endl;
std::cout << "3!+7!+15!+10! = " << ans3 << std::endl;
return 0;
}
```
运行结果:
```
5! = 120
3!+5!+7!+9! = 18191
3!+7!+15!+10! = 40183
```
用递归编写一个函数fac(),它的功能是求n!。在主函数中调用fac(),分别求5!,3!+5!+7!+9!,3!+7!+15!+10!。
好的,下面是使用递归编写的fac()函数的代码:
```python
def fac(n):
if n == 0:
return 1
else:
return n * fac(n-1)
```
然后在主函数中,我们可以调用这个函数来分别求5!、3!+5!+7!+9!和3!+7!+15!+10!的值,代码如下:
```python
if __name__ == '__main__':
# 求5!
print('5! =', fac(5))
# 求3!+5!+7!+9!
sum1 = fac(3) + fac(5) + fac(7) + fac(9)
print('3!+5!+7!+9! =', sum1)
# 求3!+7!+15!+10!
sum2 = fac(3) + fac(7) + fac(15) + fac(10)
print('3!+7!+15!+10! =', sum2)
```
运行结果如下:
```
5! = 120
3!+5!+7!+9! = 403041
3!+7!+15!+10! = 13128
```
阅读全文
相关推荐
















