例3-13
题目描述:用递归的方法编写函数求Fibonacci级数,公式为
F(n)=F(n-1)+F(n-2)(n>2),F1=F2=1
观察函数调用过程。
设计思路:
1.设计一个Fibonacci函数,包括两个整数为形参,重复调用该函数,在调用时对n进行减一操作,当n=2时结束循环。
2.输入n值,调用函数。
3.输出结果。
流程图:
代码实现:
#include<iostream> using namespace std; int Fibonacci(int n) { if (n == 1 || n == 2) { return 1; } else return Fibonacci(n - 1) + Fibonacci(n - 2); return 0; } int main() { int sum = 0; int n; cin >> n; int s = Fibonacci(n); cout << s; return 0; }
例3-14
题目描述:用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入输出。递归公式已给出。
设计思路:
1.设计一个函数p,包括两个形参x和n,当n=0时p(x)=1,当n=1时p(x)=x,当x>1时p(x)=;
2.输入x与n的值。
3.输出结果。
流程图:
代码实现:
#include<iostream> using namespace std; int p(int x, int n) { if (n ==0) { return 1; } else if (n == 1) { return x; } else { return ((2 * n - 1) * x * p(x, n-1) - (n - 1) * p(x, n - 2)) / n; } return 0; } int main() { int x, n; cin >> x >> n; cout<<p(x, n); return 0; }
例3-15
题目描述:编写递归函数getPower计算x的y次方,在同一个程序中针对整形和实型实现两个重载的函数
设计思路:
1.编写两个形参类型不同的函数,分别计算整形和实型是的结果。
2.输入x与y的值。
3.输出结果
流程图:
代码实现:
#include<iostream> using namespace std; int getPower(int x, int y) { if (y < 0) return 0; else return getPower(x, y - 1); } double getPower(double x, double y) { if (y < 0) return 0; else return getPower(x, y - 1); } int main() { int x, y; cin >> x >> y; int a, b; cin >> a >> b; cout<<getPower(x, y); cout<<getPower(a, b); return 0; }
标签:return,函数,int,else,Fibonacci,课后,第三章,习题,getPower From: https://www.cnblogs.com/xuechenhao173/p/17354028.html