不是STL但是和STL一样神奇:位运算
这个东西可以输出\(2^{64}\)和\(2^{64}-n\),因为long long<\(2^{63}而且\)ull <\(2^{64}\),所以不能直接算出然后减,只要把unsigned long long 定义的n变成负数就可以了。我要不要记住?还是研究一下?
if(ans==64&&!n)puts("18446744073709551616");
else cout<<(ans==64?-n:(1ull<<ans)-n)<<endl;
if(ans==64&&!n)puts("18446744073709551616");
else cout<<(ans==64?-n:(1ull<<ans)-n)<<endl;