p499166435 2014-03-06 13:20 采纳率: 0%
浏览 2945

C++ long long类型 能存储的 Fibonacci数列中的最大值

#include
#include
#include "MTime.h"

using namespace std;

long long _fibonacci(int i)
{
if (i == 0)
return 0;

if (i == 1)
    return 1;

return _fibonacci(i-2) + _fibonacci(i-1);

}

int main()
{
ofstream out("fibonacci.txt");

int i = 3; 
long long maxNum = 0;   
long long num = 1;
int useTime;

while (maxNum < num)
{
    MTime start;

    maxNum = num;
    num = _fibonacci(i++);

    MTime end;
    useTime = end.delta(&start);
}

out << "Fibonacci数列中" << endl
    << "能用long long数据类型存储的" 
    << "最大数是第 " << i-1 << " 个数" << endl
    << "这个数是 " << maxNum << endl
    << "计算出这个数用时 " << useTime << " 秒" <<endl;
cout << "Fibonacci数列中" << endl
    << "能用long long数据类型存储的" 
    << "最大数是第 " << i-1 << " 个数" << endl
    << "这个数是 " << maxNum << endl
    << "计算出这个数用时 " << useTime << " 秒" <<endl;

system("pause");

return 0;

}

我算是一个C++初学者吧,上面程序是我自己写的。我运行它,一个晚上过去了还是没结果。貌似无限循环了。下班回来用F10测试,发现在“i==40”时还能正常进行,当运行到“i==41”时就一直等待了。我一再检查程序没发现问题出在哪儿。求大神解惑~~~
另:我在将long long 类型用unsigned char类型替代时程序能正常运行且很快得出结果!
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 如何实验stm32主通道和互补通道独立输出
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题