关于#c++#的问题:是不是因为指数函数表示错误呀

img

img


我想知道这个代码该怎么改,输出的f值一直不对,是不是因为指数函数表示错误呀

乘方应该用pow函数,但2的指数可以用左移运算代替,比如
t的i次方可以用: t=1<<i;
另外,循环条件i<=n应该改成i<n
最后,如果你数学学得好,这道题可以直接用int f = (1<<n)-1;计算出来

指数函数用pow函数,包含头文件math.h c里面没有^这个