1016-求幂

#include<iostream>
using namespace std;
#define max 200

int main()
{
    int a[max]={0},n,e,j,k,q,set=0;
    char c[20];
    while(cin>>c>>n)
    {
        int len=strlen(c),base=0,i,record=0;
        for(i=0;i<len;i++)
        {
            if(c[i]=='.') 
            {
                record=len-i-1;
                continue;
            }
             base=base*10+c[i]-'0';
        }
        if(record)
        {
            for(k=len-1;c[k]=='0';k--,record--)
            base/=10;
        }
        record*=n;

        for(q=base,i=0;i<max;i++,q/=10)
        {
            a[i]=q%10;
            
        }
        
        for(j=0;j<n-1;j++)
        {
            for(i=0;i<max;i++)
            {
                a[i]=a[i]*base+set;
                set=a[i]/10;
                a[i]=a[i]%10;
            }
        }
        
        for(i=max-1;i>=0;i--)
                if(a[i]!=0) break;
            
            if(record>i)
            {
                cout<<".";
                for(e=record-1;e>=0;e--)
                {
                    cout<<a[e];
                }
            }
            else 
            {
                for(;i>record-1;i--)
                {
                    cout<<a[i];
                }
                if(i>=0)    
                    cout<<".";                
                for(;i>=0;i--)
                    cout<<a[i];
            }
        cout<<endl;
    }
    return 0;
}

  

描述

Rn次幂(0.0<r<99.999,0<n<=25)

输入

 

每行输入两个数Rn

R值占1-6列,n8-9

 

输出

 

对应于每一行输入,输出Rn次幂

前导的0不要输出

无意义的0不要输出

如果结果是一个整数,不要输出小数点

最后一行是空行

 

样例输入

95.123 12

0.4321 20

5.1234 15

6.7592  9

98.999 10

1.0100 12

样例输出

548815620517731830194541.899025343415715973535967221869852721

.00000005148554641076956121994511276767154838481760200726351203835429763013462401

43992025569.928573701266488041146654993318703707511666295476720493953024

29448126.764121021618164430206909037173276672

90429072743629540498.107596019456651774561044010001

1.126825030131969720661201

 

posted @ 2013-11-21 22:29  七年之后  阅读(306)  评论(0编辑  收藏  举报