求2的n次方

方法一

这样最多能够计算出2的1000次方左右。

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
    int n;
    while(cin>>n) {
        cout<<fixed<<setprecision(0)<<pow(2, n)<<endl;
    }
    return 0;
}

方法二

#include <iostream>
int a[10001];
using namespace std;
int main() {
	int i, j, x, len = 1, n;
	cin>>n;
	a[1] = 1;
	for(i = 1; i <= n; i++) {
		x = 0;
		for(j = 1; j <= len; j++) {
			a[j] = a[j]*2 + x;
			x = a[j]/10;
			a[j] %= 10;
			if(x != 0 && j == len) len++;
		}
	}
	for(i = len; i >= 1; i--)
		cout<<a[i];
	cout<<endl;
	return 0;
}

方法三

import java.math.BigInteger;
import java.util.Scanner;
public class Main {  
    public static void main(String[] args)  {  
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        for(int j = 0; j < a; j++) {
        	int n = in.nextInt();
        	BigInteger t = BigInteger.ONE;
        	for(int i = 1; i <= n; i++) {
        		t = t.multiply(BigInteger.valueOf(2));
        	}
        	System.out.println(t);
        }
        in.close();
    }  
}