博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
032数值的整数次方(keep it up)
阅读量:7155 次
发布时间:2019-06-29

本文共 1178 字,大约阅读时间需要 3 分钟。

剑指offer中题目:http://ac.jobdu.com/problem.php?

pid=1514

题目描写叙述:

给定一个double类型的浮点数base和int类型的整数exponent。

求base的exponent次方。

输入:

输入可能包括多个測试例子。

对于每一个输入文件,第一行输入一个整数T,表示測试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一个空格隔开。

输出:

相应每一个測试案例,

输出一个浮点数代表答案。保留两位小数就可以。

例子输入:
51.0 100.0 -51.0 01.2 52.0 -1
例子输出:
1.00e+00fINF1.00e+00f2.49e+00f5.00e-01f
这个题wrong了几次,就是由于abs和fabs晕了。

。。。

代码:

#include 
#include
#define PRECISION 0.00000001double powN(double vBase, int vN){ double Result = 1.0; while (vN) { if (vN%2) { Result *= vBase; --vN; } else { vBase *= vBase; vN >>= 1; } } return Result;}double getBaseExp(double vBase, int vExp){ int N = abs(vExp); double Result = powN(vBase, N); if (vExp < 0) { return 1.0 / Result; } else if (vExp == 0) { return 1.0; } return Result;}int main(){ int N; int Exp; double Base; scanf("%d", &N); while (N--) { scanf("%lf %d", &Base, &Exp); //if (abs(Base) < PRECISION && Exp < 0)//这样就错了 //{ // //printf("error\n"); // printf("INF\n"); // continue; //} if (fabs(Base) < PRECISION && Exp < 0) { printf("INF\n"); continue; } double Result = getBaseExp(Base, Exp); printf("%.2ef\n", Result); } return 0;}

转载地址:http://tiegl.baihongyu.com/

你可能感兴趣的文章
iOS运行回路(RunLoop)总结
查看>>
链表crud
查看>>
GitHub Pages上写完简历后报404
查看>>
硬盘的读写原理
查看>>
eclipse svn时忽略target .project .classpath等目录文件
查看>>
告警系统主脚本、主配置文件、监控项脚本
查看>>
CSS层叠样式表之CSS解析机制的优先级及样式覆盖问题探讨
查看>>
angularjs关于controller之间如何通讯
查看>>
nodejs npm 全局安装路径和本地安装路径区别
查看>>
Android---Button
查看>>
MVC介绍
查看>>
JSONArray的应用
查看>>
NFS服务日志分析
查看>>
3.spring整合ActiveMQ
查看>>
收集:Hibernate中常见问题 No row with the given identifier
查看>>
Trie树
查看>>
【Qt笔记】model/view 架构
查看>>
[日推荐]『初次见』这里有故事,还有诗和远方!
查看>>
Maven 阿里云 中央仓库
查看>>
Maven的学习资料收集--(六 构建Hibernate项目
查看>>