蒟蒻的疑惑
查看原帖
蒟蒻的疑惑
804423
Catakiki楼主2022/12/27 11:41

当k > 1时

for(register int i = 0;n != 0;++i,n = n >> 1){
     ans += pow(2,i);
}

当输入为:1000000000000000000 1000000000000000000
时,输出为:1152921504606846976
而答案为:1152921504606846975

for(register int i = 0;n != 0;++i,n = n >> 1){
    ans += (1LL<<i);
}

AC了,但是(1LL<<i)的操作不等价于pow(2,i)吗?求大佬解答

2022/12/27 11:41
加载中...