gpt4 book ai didi

c++ - 相同的算法实现在 Python 和 C++ 中有不同的结果?

转载 作者:太空狗 更新时间:2023-10-29 19:39:43 25 4
gpt4 key购买 nike

这段 python 代码可以正常工作并产生正确的输出:

def fib(x):
v = 1
u = 0
for x in xrange(1,x+1):
t = u + v
u = v
v = t
return v

但是当我用 C++ 编写相同的代码时,它会给我一个不同且不可能的结果。

int fib(int x)
{
int v = 1;
int u = 0;
int t;
for (int i = 1; i != x + 1; i++)
{
t = u + v;
u = v;
v = t;
}
return v;
}

我还在学习 C++。谢谢!

编辑:C++ 输出 -1408458269。
当 x = 50 时,Python 输出 20365011074。

最佳答案

对于什么输入? Python 具有无限(内存有限)大小的整数,C++ 的 int 通常是四字节整数,因此您很可能会溢出。

可以用带符号的 32 位整数类型表示的最大斐波那契数是 fib(46) = 1836311903

关于c++ - 相同的算法实现在 Python 和 C++ 中有不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com