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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 自己瞎改改,结果现在又运行不了了
    • ¥15 链式存储应该如何解决
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站