整数次幂唯一的难处就是容易爆int
和爆long long
首先是2的整数次幂:
2的整数次幂,long long
的极限是
2
62
{2^{62}}
262 次幂,如果题的大小小于
2
60
{2^{60}}
260 就可以用long long
解决,方法如下:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
long long sum=1; //这里一定要开long long
for(int i=1;i<=n;i++)
{
sum*=2;
}
printf("%lld",sum); //long long要用%lld
return 0;
}
然后是3的整数次幂:
2的整数次幂,long long
的极限是
3
39
{3^{39}}
339 次幂,如果题的大小是
3
40
{3^{40}}
340 就要用if
判断+字符串手打特殊条件,方法如下:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
long long sum=1;
for(int i=1;i<=n;i++)
{
sum*=i;
}
printf("%lld",sum);
return 0;
}
后面以此类推,就不多做赘述了