数值的整数次方
来源:互联网 发布:女生学java有前途吗 编辑:程序博客网 时间:2024/06/05 04:47
题目描述:
给定一个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
给定一个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
注意:
1.当指数是负数的时候,可以先对指数求绝对值,然后算出次方的结果之后求倒数。
2.当底数是0,指数是负数的时候应做特殊处理。
3.判断两个浮点数是否相等不应该直接用==。
#include<cstdio>#include<cstring>#include<cstdlib>bool g_InvalidInput = false;bool equal(double num1,double num2){ if((num1 - num2 >= -0.0000001) && (num1 - num2 <= 0.0000001)) { return true; } return false;}double PowerWithUnsignedExponent(double base,unsigned int exponent){ if(exponent == 0) return 1; if(exponent == 1) return base; double result = PowerWithUnsignedExponent(base,exponent>>1); result *= result; if(exponent & 0x1 == 1) result *= base; return result;}double Power(double base,int exponent){ g_InvalidInput = false; if(equal(base,0.0) && exponent < 0) { g_InvalidInput = true; return 0.0; } unsigned int absExponent = (unsigned int)exponent; if(exponent < 0) absExponent = (unsigned int)(-exponent); double result = PowerWithUnsignedExponent(base,absExponent); if(exponent < 0) result = 1.0 / result; return result;}int main(){ int n; scanf("%d",&n); double base; int exponent; while(n--) { scanf("%lf%d",&base,&exponent); double result = Power(base,exponent); if(g_InvalidInput) printf("INF\n"); else { printf("%.2ef\n",result); } } return 0;}
0 0
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- 数值的整数次方
- opengl首次尝试使用
- Oracle11g客户端连接服务器很慢的一种解决方法(登录验证方式导致)
- arcgis 10.1 许可服务器启动没反应
- NSString相关
- 08.spritekit征程——场景中的动画
- 数值的整数次方
- 织梦权重 arclist orderby=weight新解决办法
- PAT 1003. Emergency (25)
- JSP/Servlet: 简介 Tag File
- iOS KVC & KVO
- 程序语言与城市
- JavaScript(复习版二)
- tesseract-ocr训练方法
- [LintCode]k Sum