- 递归与迭代
- 练习三:
- 递归
- 练习四:
- 递归
- 循环
求n的阶乘。(不考虑溢出)
#include递归#include int Facl(int n) { int i = 0; int ret = 1; for (i = 1; i <= n; i++) { ret *= i; } return ret; } int main() { int n = 0; int ret = 0; scanf("%d", &n); ret = Facl(n); printf("%dn", ret); return 0; }
#include练习四:#include int Facl2(int n) { if (n <= 1) return 1; else return n * Facl2(n - 1); } int main() { int n = 0; int ret = 0; scanf("%d", &n); ret = Facl2(n); printf("%dn", ret); return 0; }
递归求第n个斐波那契数。(不考虑溢出)
#include循环#include int Fib(int n) { if (n <= 2) return 1; else return Fib(n - 1) + Fib(n - 2); } //斐波那契数列 //1 1 2 3 5 8 13 21 34 55 int main() { int n = 0; int ret = 0; scanf("%d", &n); //TDD - 测试驱动开发 ret = Fib(n); printf("ret = %dn", ret); return 0; }
#include#include int Fib(int n) { int a = 1; int b = 1; int c = 1; while (n > 2) { c = a + b; a = b; b = c; n--; } return c; } int main() { int n = 0; int ret = 0; scanf("%d", &n); ret = Fib(n); printf("ret = %dn", ret); return 0; }
仅供学习参考使用。



