【剑指Offer面试编程题】题目1514:数值的整数次方---九度OJ
- 题目描述:
-
给定一个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【解题思路】这个题目初看起来应该是一个比较low的题目,因为这样的需求确实一个函数pow就能完成,而且用累乘的效果也是一样的。所以在题目中直接用pow函数来做了,只需要注意base为0时,如果exponet为负则为一个无穷大的数,要单独处理一下。输出时此采用“%.2ef”的格式就可以满足题目的要求。
AC code:
#include <cstdio> #include <cmath> using namespace std; int main() { int n; while(scanf("%d",&n)!=EOF) { double base; int expo; for(int i=0;i<n;++i) { scanf("%lf%d",&base,&expo); if(base-0<1e-7 && expo<0) { printf("INF "); continue; } double re=pow(base,(double)expo); printf("%.2ef ",re); } } return 0; } /************************************************************** Problem: 1514 User: huo_yao Language: C++ Result: Accepted Time:80 ms Memory:1108 kb ****************************************************************/题目链接:http://ac.jobdu.com/problem.php?pid=1514
九度-剑指Offer习题全套答案下载:http://download.****.net/detail/huoyaotl123/8276299