gpt4 book ai didi

c++ - 计算填满国际象棋64个方格总共需要多少米

转载 作者:行者123 更新时间:2023-11-30 01:02:55 25 4
gpt4 key购买 nike

我只想计算填满 64 盒棋盘需要多少米,但问题是,如果我减少行数和列数,程序运行正常,但如果我输入实际的 8*8 行和列,那么它会显示 0我认为长数据类型不足以存储我将要使用的所需输出。

#include <iostream>
#include<cstring>
#include<stdlib.h>
using namespace std;

long fn()
{
int val;
long i=1;
for(int row=1;row<=8;row++)
{
for(int col=2;col<=8;col++)
{
val = i*2;
i=val;
}
}
return i;
}



main()
{
cout << fn();

}

我不需要完整的代码作为答案,请告诉我我必须使用哪种数据类型,或者如果我做错了,只有建议而不是解决方案。谢谢。

最佳答案

您需要一个 64 位的 unsigned 来表示结果。

C++ 标准要求 unsigned long long 至少是那个大小,所以要使用那个。

顺便说一句,答案是

~(uint64_t)0;

关于c++ - 计算填满国际象棋64个方格总共需要多少米,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55121776/

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