题解 B2034 【计算 2 的幂】
题解
做法 1
在 pow(2,n) 即可。
做法 2
有没有更好的做法呢?事实上, C++ 中你可以使用二进制左移运算符 1<<n 即可。
快速幂
当然,我们不能仅限于此。如果我们计算的是 pow(m,n) 照样可以用,但这样可能丢失精度,对于一些要取模的情况没有保证;做法 2 当中的 1<<n 仅限于
考虑将
将
参考代码
代码 1
#include<bits/stdc++.h>
#define up(l,r,i) for(int i=l,END##i=r;i<=END##i;++i)
#define dn(r,l,i) for(int i=r,END##i=l;i>=END##i;--i)
using namespace std;
typedef long long i64;
const int INF =2147483647;
int n;
int main(){
cin>>n; cout<<(1<<n);
return 0;
}
代码 2
#include<bits/stdc++.h>
#define up(l,r,i) for(int i=l,END##i=r;i<=END##i;++i)
#define dn(r,l,i) for(int i=r,END##i=l;i>=END##i;--i)
using namespace std;
typedef long long i64;
const int INF =2147483647;
int n;
int main(){
cin>>n; cout<<(int)pow(2,n);
return 0;
}