递推法用c编写一个求阶乘的函数
时间: 2024-05-14 17:14:24 浏览: 14
以下是使用递推法编写的求阶乘的函数:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个非负整数:");
scanf("%d", &n);
printf("%d的阶乘是%d\n", n, factorial(n));
return 0;
}
```
这个函数使用for循环和一个变量result来计算阶乘。从2开始,每次循环将i乘以result,最终返回result的值。在main函数中,用户输入一个非负整数n,然后调用factorial函数计算n的阶乘并输出结果。
相关问题
用C语言编写二分法求方程实根的减半递推算法
好的,这是一个关于编程的问题。二分法求方程实根是一个常见的算法问题,我们可以使用递归或迭代的方式实现。以下是用C语言编写的减半递推算法:
```c
#include <stdio.h>
#include <math.h>
double f(double x) // 定义要求解的方程 f(x)
{
return x * x * x - 4 * x * x + 3 * x + 1;
}
double bisection(double a, double b, double eps) // 减半递推算法
{
double c;
while (fabs(a - b) > eps) // 二分判断条件
{
c = (a + b) / 2;
if (f(c) == 0 || fabs(a - b) / 2 < eps)
return c;
if (f(a) * f(c) < 0)
b = c;
else
a = c;
}
return (a + b) / 2;
}
int main()
{
double a = -10, b = 10, eps = 0.000001;
double root = bisection(a, b, eps);
printf("方程实根为: %.6lf\n", root);
return 0;
}
```
这个算法能够在一定精度范围内找到方程的实根。请问还有什么需要帮助的吗?
用C语言求斐波那契数列前多少项和递推法
可以使用递推法来求解斐波那契数列。以下是用C语言求斐波那契数列前n项和的代码:
```c
#include <stdio.h>
int main() {
int n, i;
long long a = 0, b = 1, sum = 0;
printf("请输入要求的斐波那契数列项数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += b; // 累加斐波那契数列的每一项
b += a; // 更新斐波那契数列的下一项
a = b - a; // 更新斐波那契数列的当前项
}
printf("斐波那契数列前%d项的和为%lld\n", n, sum);
return 0;
}
```
在该代码中,使用变量a和b来分别保存斐波那契数列的当前项和下一项,然后通过累加每一项来求斐波那契数列前n项的和。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)