首页 > 代码库 > 九度_题目1514:数值的整数次方

九度_题目1514:数值的整数次方

//0的正数次幂合法???哎呀,我去....数学学不好真可怕啊惊恐

题目描述:

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
输入:
输入可能包含多个测试样例。
对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一个空格隔开。
输出:
对应每个测试案例,
输出一个浮点数代表答案,保留两位小数即可。
样例输入:
5
1.0 10
0.0 -5
1.0 0
1.2 5
2.0 -1
样例输出:
1.00e+00f
INF
1.00e+00f
2.49e+00f
5.00e-01f
#include<iostream>
#include<cstdio>
using namespace std;
double getNum(double base,int n)
{
    int flag=1;
    if(n<0){n*=-1;flag=0;}
    double sum=1;
    for(int i=0;i<n;i++)
        sum*=base;
    if(!flag)sum=1/sum;
    return sum;
}
int main()
{
    int count=0;
    cin>>count;
    double base=0;
    int num=0;
    for(int i=0;i<count;i++)
    {
        cin>>base>>num;
        if((base-0>-0.000001)&&(base-0<0.000001))
        {
            if(num<=0)
                printf("INF\n");
            else
                printf("0.00e+00f\n");
        }
        else
            printf("%.2ef\n",getNum(base,num));
    }
    return 0;
}
 
/**************************************************************
    Problem: 1514
    User: hndxztf
    Language: C++
    Result: Accepted
    Time:540 ms
    Memory:1520 kb
****************************************************************/

九度_题目1514:数值的整数次方