hdu5241Friends 大数乘法

//可以知道各种语言相互独立
//故而知道是2的乘方
//由样例可知是32的n次方
//剩下的是一个大数乘法
#include
#include
#include
using namespace std ;
const int maxn = 30050 ;
const int mod = 100 ;
int num[maxn] ;
int len ;
int solve(int  n)
{
    memset(num , 0 , sizeof(num)) ;
    num[1] = 1;len = 1;
    for(int i = 1;i <=n ;i++)
    {
        int c = 0 ;
        for(int j = 1;j <= len; j++)
        {
            num[j] *= 32 ;
            num[j] += c ;
            c = num[j]/mod ;
            num[j] %= mod ;
        }
        while(c)
        {
            num[++len] = c%mod ;
            c/=mod ;
        }
    }
}
int main()
{
    int T ;
    int cas =0 ;
    scanf("%d" , &T) ;
    while(T--)
    {
        int n  ;
        scanf("%d" , &n) ;
        solve(n) ;
        printf("Case #%d: " , ++cas) ;
        for(int i = len;i > 0;i--)
        {
            if(i!=len)
            printf("%02d" ,num[i]) ;
            else
            printf("%d" , num[i]) ;
        }
        puts("") ;
    }
}







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