【剑指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\n");
continue;
}
double re=pow(base,(double)expo);
printf("%.2ef\n",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.csdn.net/detail/huoyaotl123/8276299

浙公网安备 33010602011771号