用递归函数编写一个函数fac(),它的功能是求n!。在主函数中调用fac(),它的功能是求n!。在主函数中调用fac(),分别是求5!,3! +5! +7! +9!,3! +7! +15! +10! 用double定义
时间: 2024-02-19 17:58:22 浏览: 131
好的,以下是递归函数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
```
相关问题
用C语言解决下列问题:用递归编写一个函数fac(),它的功能是求n!。在主函数中调用fac(),求5!
好的,下面是使用递归编写的fac()函数的C语言代码:
```c
#include <stdio.h>
int fac(int n)
{
if (n == 0)
return 1;
else
return n * fac(n - 1);
}
int main()
{
// 求5!
printf("5! = %d\n", fac(5));
return 0;
}
```
运行结果如下:
```
5! = 120
```
用递归编写一个函数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
```
阅读全文