在C++语言的学习中,函数的声明、定义以及调用是整个学习时期的核心。其中在函数的调用中又有一种特殊的调用----递归调用。递归又分为直接地鬼调用和间接递归调用,所谓直接递归指在定义函数的过程中又调用该函数;而间接递归调用指在a函数中调用b函数,在b函数中又调用a函数。
递归式从结果出发,归纳出后一结果与前一结果直到初值为止存在的关系。
在此以1阶斐波数列为例;
1,1,2,3,5,8,13,21.......第一项和第二项的和等于第三项,第二项和第三项的和等于第四项......这样的一列数称为斐波数列。若求此数列的第n项(n为大于0的整数),算法分析如下:
n=1时,值为1
n=2时,值为1
n=3时,值为1+1=2
. .
. .
n=n时,值为f(n-2)+fn-1()
此处的f为关于n的函数,具体如下:
int f(int n){
int sum;
if(n=1||n=2) sum=1;
if(n>2) sum=f(n-1)+f(n-2);
return sum;
}
上述还有一问题就是K阶的阶是什么意思?其实它是指数列从第K-1项开始斐波数列的规则,在之前的K-2项都是0,即f(k-1)=1,f(k)=1,f(k+1)=2....求第m项关于K的函数。
其实就是斐波数列中的第【m-(K-1)】项的值。
所以用m-(K-1)来代替n的位置带入上述函数可以得出:
int f(int k,int m){
int sum;
if((m=k)||(m=k+1))
sum=1;
if(m>k+1)
sum=f(m-k)+f(m-k-1);
}
这是我在帮同学做数学题想到的,有很多不足的地方还请大家多多指教!
分享到:
相关推荐
斐波那契数列(Fibonacci Sequence)是计算机科学中的一个重要概念,它在各种算法设计和数据分析中都有着广泛的应用。VC(Visual C++)是一种由微软开发的集成开发环境,用于编写C++语言的程序。...
### Fibonacci数列的基础概念 Fibonacci数列是一种在数学及计算机科学领域广泛使用的数列。该数列的定义为:第一项`f1=1`,第二项`f2=1`,从第三项开始每一项是其前两项之和。即数列可以表示为:1, 1, 2, 3, 5, 8, ...
本人编写的水声物理中波数积分方法MATLAB程序。计算海洋声学模型是进行声纳仿真设计和性评估的基本模型。通过本上机实验掌握波数积分的基本理论和波数积分的FFT实现方法,使用Matlab语言编制波数积分声场计算程序,...
声子晶体复能带解析:使用comsol PDE求解给定频率下的波数k,comsol PDE求解声子晶体复能带,给定频率求波数k ,comsol; PDE求解; 声子晶体; 复能带; 给定频率; 波数k,COMSOL PDE求解声子晶体复能带,求给定频率下波数...
本次分享的资源包含一个特定的压缩包"F-K.rar",它聚焦于FK偏移成像技术的具体应用,尤其是"FK频率波数偏移成像"。此外,关键词"fk偏移成像"和"成像波"则强调了成像过程中波的转换和优化。在处理地震数据时,了解...
2. **波数**:在波动方程中,波数(k)是描述波频率和传播速度关系的物理量。它定义为波的频率除以波速,表示单位长度内的波峰或波谷数目。在波数积分中,我们研究不同波数的贡献如何组合成整个波场。 3. **波数...
在本实验中,我们主要探讨的是如何利用MATLAB软件来实现波数积分方法,这是哈尔滨工程大学水声工程计算海洋声学课程中的一个重要实践环节。波数积分是一种用于计算声波在海洋环境中传播特性的数学工具,特别是在研究...
f-k方法可以将瑞利波的时间—空间域数据转换为频率—波数域数据,从而计算出频散曲线。 在结论中,我们总结了频率—波数域频散曲线提取方法的优点和缺点,并讨论了该方法的应用前景。我们认为,频率—波数域频散...
F-K谱图,全称为傅里叶-克勒默(Fourier-Kruger)谱图,是一种在地震学、信号处理等领域广泛使用的分析工具,它通过傅里叶变换将时域信号转换到频率-波数域,帮助我们理解信号的频谱特性。MATLAB的"fk"函数就是实现这...
FK滤波,全称为傅里叶-克里姆斯基(F-K)滤波,是一种在地震数据处理中广泛使用的分析方法。它结合了傅里叶变换和克里姆斯基(Kreinik)变换,主要用于从地震记录中提取特定方向或深度的信息。这种技术对于识别地震...
3. **波数计算**:在频域中,波数k是频率f除以采样率Δx(在连续空间中是波长除以系统大小)。对于离散数据,波数间隔是2π/Δx。 4. **谱分析**:计算得到的频谱通常以对数尺度表示,便于观察低频和高频成分。谱...
本教程将详细介绍如何利用MATLAB实现对二维波形数据的频谱、频率-波数谱以及能量谱的绘制。 一、频谱分析基础 频谱分析是将时间域的信号转换到频率域,揭示信号中包含的不同频率成分。在MATLAB中,主要使用`fft`...
本教程将深入探讨如何使用MATLAB来绘制二维波形数据的频谱、频率-波数谱和能量谱。 首先,频谱分析是将时域信号转化为频域表示的过程,它揭示了信号中不同频率成分的强度。MATLAB中的`fft`函数是进行快速傅立叶变换...
本资料包“matlab实现频率-空间域、频率-波数域、拉动域鬼波压制方法.zip”提供了一种解决方案,利用Matlab编程语言实现不同域的鬼波压制算法,旨在提高地震信号的信噪比。 首先,我们关注基于峭度因子最大化的频率...
裴波那契数列从第三项开始,每一项都等于前两项之和.该程序是用Java实现裴波那契数列。
标题知识点:“多孔声学材料复波数的声管测量方法” 1. 声学材料的声传递特性:描述了均匀和各向同性的声学材料在声波传递过程中的特性,涉及到材料的声学性能表现。 2. 传递矩阵表达式:推导出的数学模型,用于表征...
斐波那契数列是一个经典的数学概念,在计算机科学和编程中常常被用作示例或练习。这个数列的特点是从第三项开始,每一项都等于前两项之和,起始的两项是0和1。其数学定义为:F(0) = 0,F(1) = 1,对于n ≥ 2,F(n) =...
1. **波数积分**: 波数积分是声波传播理论中的一种技术,通过在波数空间进行积分,可以得到空间位置上的声场信息。这种方法对于理解和预测复杂海洋环境中的声传播特性具有重要意义。 2. **积分核函数**: 在波数...
简单介绍了SAR在波数域的分析方法,波数域更加直观的解决距离徙动问题