首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

Fibonacci(50)调用次数解决办法

2013-11-23 
Fibonacci(50)调用次数#include stdio.hlong fibonacci(int n)int cal0//这里是计数变量,计算调用函

Fibonacci(50)调用次数

#include <stdio.h>
long fibonacci(int n);
int cal=0;//这里是计数变量,计算调用函数总次数,为什么用int声明运行结果为-597265727?而改为unisgned long后结果还是-597265727?
int main(void)
{
fibonacci(50);
printf("%d\n",cal);
}
long fibonacci(int n)
{
cal++;
if(n<=2)
return 1;
return fibonacci(n-1)+fibonacci(n-2);
}

[解决办法]
输出无符号数要用%u,不过50可能已经超过无符号数的最大值了
[解决办法]
50次
得用64位整形。
[解决办法]
因为调用的次数是第n项的值的两倍-1,求第50项,调用的次数已超出范围
[解决办法]
__INT64 

热点排行