1113: 递归调用的次数统计(函数专题)
1113: 遞歸調(diào)用的次數(shù)統(tǒng)計(jì)(函數(shù)專題)
時(shí)間限制: 1 Sec 內(nèi)存限制: 128 MB
提交: 2795 解決: 2006
[提交] [狀態(tài)] [討論版] [命題人:admin]
題目描述
如下程序的功能是計(jì)算 Fibonacci數(shù)列的第n項(xiàng)。函數(shù)fib()是一個(gè)遞歸函數(shù)。請你改寫該程序,計(jì)算第n項(xiàng)的同時(shí),統(tǒng)計(jì)調(diào)用了多少次函數(shù)fib(包括main()對fib()的調(diào)用)。
#include<stdio.h>
int fib(int k);
int main(void )
{
int n;
scanf("%d", &n);
printf("%d\n", fib(n));
return 0;
}
int fib(int k)
{
if(k == 1 || k == 2)
return 1;
else
return fib(k-1) + fib(k-2);
}
輸入
輸入一個(gè)正整數(shù)n。
輸出
輸入包含兩行,第一行是一個(gè)整數(shù),表示第n項(xiàng)的值;第二行輸入遞歸調(diào)用了多少次,具體格式見輸出樣例。
樣例輸入
20
樣例輸出
6765
遞歸調(diào)用了13529次
來源/分類
#include<stdio.h> int m=0; int b(int m); int fib(int k) {m++;if(k == 1 || k == 2)return 1;elsereturn fib(k-1) + fib(k-2);return m; } int b(int n) {printf("%d\n", fib(n)); printf("遞歸調(diào)用了%d次",m); } int main(void) {int m,n;scanf("%d", &n);b(n); }
總結(jié)
以上是生活随笔為你收集整理的1113: 递归调用的次数统计(函数专题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个女人能开什么店投资小的 饰品店可以
- 下一篇: ip地址合不合法怎么看_电子印章合不合法