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;

}


  
묘사 하 다.
R 의 n 차 멱 구하 기 (0.0 < r < 99.999, 0 < n < 25)
입력
 
줄 당 두 개의 숫자 R 과 n 을 입력 하 십시오.
R 값 은 1 - 6 열, n 은 8 - 9 열 을 차지한다.
 
출력
 
각 줄 의 입력, 출력 R 의 n 차 멱 에 대응 합 니 다.
선도 적 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

좋은 웹페이지 즐겨찾기