小白 每天刷力扣 今天的题目 但是我用了longlong还是溢出了 我不知道为什么 看结果 好像仍然认为我用的int 问题出在什么地方呢
queries[i][1] = 13 queries[i][2]=1000000000
long long 2的63次方-1不该溢出啊
求大佬指点
小白 每天刷力扣 今天的题目 但是我用了longlong还是溢出了 我不知道为什么 看结果 好像仍然认为我用的int 问题出在什么地方呢
queries[i][1] = 13 queries[i][2]=1000000000
long long 2的63次方-1不该溢出啊
求大佬指点
你仔细看提示,溢出的是int类型的13 * 1000000000。
你将结果存放到long long,没有意义,因为溢出的是中间过程。正确的做法是,先提升计算的类型为long long,然后再做乘法。
例如,
long long num = static_cast<long long>(queries[i][1]) * static_cast<long long>(queries[i][2]);