整数次幂c++

整数次幂唯一的难处就是容易爆int和爆long long

首先是2的整数次幂:

2的整数次幂,long long的极限是 2 62 {2^{62}} 262 次幂,如果题的大小小于 2 60 {2^{60}} 260 就可以用long long解决,方法如下:

#include 
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 
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;
}

后面以此类推,就不多做赘述了

你可能感兴趣的:(编程,c++,算法,开发语言,数据结构,动态规划)