大家好,欢迎来到IT知识分享网。
求 n! 有两个思路:
- 迭代 iteration
- 递归 recursion
//这是递归 int factorial(int n) { if(n>1) reurn n * factorial(n-1); else return 1; } //这是迭代 int factorial(int n) { int i, s=1; for(i=1; i<=n; i++) { s = s * i; } return s; }
递归法
就是在运行的过程中调用自己。
构成递归需具备的条件:
1. 子问题须与原始问题为同样的事,且更为简单,称为递归式子;
2. 不能无限制地调用本身,必须要有个递归出口,化简为非递归状况处理。
迭代法
也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151224.html