hdu 多校(大数模板)

#include
#include
#include
#include
#include
#define ll long long
using namespace std;
const int size = 600;
struct node{  
    int m[size];  
    int po;       //我的下标不应该从0开始 ,乘的时候出错了, 
	
}te; 
 
const int mx = 0;

void dis(node a){  
    //cout<<"结果"<=0; i--)  
        cout< 9){  
            te.m[i + 1] += te.m[i] / 10;  
            te.m[i] = te.m[i] % 10;   
        }  
    }  
    
    if(te.m[te.po+1] > 0)  
        te.po++;
		 
	return te;  
} 
 

void zhuan(node &a, int n){
	a.po = -1;
	while(n){
		a.po++;
		a.m[a.po]= n%10;
		n/=10;
	}
}
node power(int n){
	node ans,a;
	zhuan(ans,1);
	zhuan(a,2);
	while(n){
		if(n&1)
			ans = mul(ans,a);
		n /= 2;
		a = mul(a,a);
	} 
	return ans;
} 
int main(){
	int T,n;
	scanf("%d",&T);
	while(T--){
		scanf("%d",&n);
		if(n==0){
			puts("1");
			continue;
		} 
		node te =power(n);
		dis(te);
	}
		
	
 
	return 0;
}

 

你可能感兴趣的:(模板,大数)