C语言怎么用递归法求阶乘?利用递归法计算斐波那契数列,由主函数指定输出该数列某一项,调用该函数计算该项的值,再有主函数输出
本文目录
C语言怎么用递归法求阶乘
1、首先打开vc6.0,新建一个vc项目。
2、接下来需要添加头文件。
3、添加main主函数。
4、定义一个用来求阶乘的函数。
5、在main函数定义int类型变量sum。
6、调用fact(),并将返回值赋予sum。
7、使用printf打印sum。
8、运行程序,看看结果。
利用递归法计算斐波那契数列,由主函数指定输出该数列某一项,调用该函数计算该项的值,再有主函数输出
public static void Main(string args)
{
Console.WriteLine(“请输入正整数:“);
string a = Console.ReadLine();
while (true)
{
try
{
int i = Convert.ToInt32(a);
Console.WriteLine(“您所求的数为:“+FbnqSort(i));
Console.ReadKey();
break;
}
catch (Exception)
{
Console.WriteLine(“请输入正整数:“);
a=Console.ReadLine();
}
}
}
public static int FbnqSort(int num)
{
if (num 《= 0) {
return 0;
}
else if (num 》 0 && num 《= 2)
{
return 1;
}
else{
return FbnqSort(num - 1) + FbnqSort(num - 2);
}
}
用递归法解决Fibonacci数列问题
#include 《stdio.h》
long fibonacci(long n);
int main() {
long n;
scanf(“%ld“, &n);
printf(“Fibonacci(n)=%ld\n“, fibonacci(n));
return 0;
}
long fibonacci(long n) {
if (n == 1 || n == 2)
return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
不过我可以告诉你,这个效率很低很低的,n稍微大一点就挂了。
最简单的就是用递归公式了:
1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
更多关于该数列,可参考
http://baike.baidu.com/view/816.htm
用递归法计算斐波那契数列的第n项
用递归方法计算斐波那契数列的第n项的代码如下:
#include 《stdio.h》
int Fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
int main()
{
int n;
printf(“please input n: “);
scanf(“%d“,&n);
printf(“Result: %d\n“,Fibonacci(n));
return 0;
}
扩展资料一【非递归方式计算斐波那契数列第N项】
#include《iostream》
using namespace std;
int Fib(int n)
{
if(n==1 || n==2)
return 1;
int fib1=1;
int fib2=1;
int fib;
for(int i=3; i《=n; ++i)
{
fib = fib1 + fib2;
fib2 = fib1;
fib1 = fib;
}
return fib;
}
void main()
{
int n;
cout《《“input n:》“;
cin》》n;
cout《《Fib(n)《《endl;
}
扩展资料二【斐波那契数列的起源】
由于斐波纳挈数列是以兔子的繁殖引入的数学问题,因此也叫“兔子数列”,指的是这样一个数列:0,1,1,2,3,5,8,13...... 从这组数可以很明显看出这样一个规律:从第三个数开始,后边一个数一定是在其之前两个数的和。
在数学上,斐波纳挈数列可以以这样的公式表示:F(0) = 0,F(1) = 1 ,F(n) = F(n-1) + F(n-2),(n》=2)
更多文章:
系统资源不足无法完成请求(系统资源不足,无法完成请求的服务)
2024年7月24日 06:34
think of什么意思(Think 和think of 的区别)
2024年7月11日 06:44
android重启app(求助:为什么Android应用异常后会自动重启)
2024年8月28日 19:35
submitted翻译(文章“待投”或“准备投稿”用英语怎么翻译)
2024年7月24日 15:34
c语言读取txt文件(怎么用c语言实现读取一个.txt文件里的数据并要按行读出来)
2024年8月27日 23:25
bufferedreader采用了哪种设计模式(java按行读word文件,)
2024年7月22日 05:33
javascript数组sort方法(在javascript中怎么使用sort方法进行换行)
2024年8月7日 08:10
array什么意思中文翻译(c语言中的array 是什么意思哦)
2024年7月3日 01:51
affect和effect的区别(effect和affect有什么区别)
2024年8月12日 11:30
巴氏刷牙法电动牙刷(在使用电动牙刷的时候,真的能够保护牙齿吗)
2023年10月12日 14:00
ignorance读音(单词难记,发音不准,书面表达差听不懂(英语单词))
2024年6月17日 03:08
createthread(MFC CreateThread 显示对话框)
2024年7月24日 03:25