zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    面向对象三大特性之多态
    作业
    面向对象三大特性之封装
    面向对象三大特性之继承
    面向对象(一)
    subprocess, re模块,logging, 包等使用方法
    模块二之序列化模块以及collections模块
    常用模块
    内置函数补充,函数递归,模块
    生成器以及面向过程编程
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436514.html
Copyright © 2011-2022 走看看