//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 ****************************************************************/
时间: 2024-10-05 18:03:49