题目地址:http://ac.jobdu.com/problem.php?pid=1514

题目描述:

给定一个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 <stdio.h>
#include <math.h>
#include <stdlib.h> double PowerWithUnsignedExponent (double base, unsigned int exponent){
if (exponent == 0)
return 1.0;
if (exponent == 1)
return base;
double ans = PowerWithUnsignedExponent (base, exponent >> 1);
ans *= ans;
if (exponent & 0x01 == 1){
ans *= base;
}
return ans;
} double Power (double base, int exponent){
double ans;
unsigned int uexponent;
if ((base == 0) || (base == 0 && exponent < 0))
return 0.0;
uexponent = (unsigned int)abs (exponent);
ans = PowerWithUnsignedExponent (base, uexponent);
if (exponent < 0)
ans = 1.0 / ans;
return ans;
} int main(void){
int T;
double base;
int exponent;
double ans;
double zero = 0.0; while (scanf ("%d", &T) != EOF){
while (T-- != 0){
scanf ("%lf%d", &base, &exponent);
ans = Power (base, exponent);
if (ans != 0.0)
printf ("%.2ef\n", ans);
else if (base == 0.0 && exponent >= 0)
printf ("%.2ef\n", zero);
else
printf ("INF\n");
}
} return 0;
}

参考资料:何海涛 -- 程序员面试题精选100题(44)-数值的整数次方[算法]

九度OJ 1514 数值的整数次方【算法】的更多相关文章

  1. 剑指Offer - 九度1514 - 数值的整数次方

    剑指Offer - 九度1514 - 数值的整数次方2013-11-30 00:49 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponen ...

  2. 九度OJ 1190:大整数排序 (大数运算、排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3219 解决:1467 题目描述: 对N个长度最长可达到1000的数进行排序. 输入: 输入第一行为一个整数N,(1<=N<=1 ...

  3. 九度oj 题目1084:整数拆分 清华大学2010年机试题目

    题目描述: 一个整数总可以拆分为2的幂的和,例如:7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1总共有六种不 ...

  4. 九度oj 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~130 ...

  5. 九度OJ 1125:大整数的因子 (大数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:974 解决:494 题目描述: 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. ...

  6. 九度oj 题目1063:整数和

    题目1063:整数和 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4043 解决:2638 题目描述: 编写程序,读入一个整数N.若N为非负数,则计算N到2N之间的整数和:若N为一个负数 ...

  7. 九度OJ 1214 寻找丑数【算法】

    题目地址:http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因 ...

  8. 1514:数值的整数次方 @jobdu

    题目1514:数值的整数次方 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:377 解决:103 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent. ...

  9. 【九度OJ】题目1190:大整数排序 解题报告

    [九度OJ]题目1190:大整数排序 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1190 题目描述: 对N个长度最长可达 ...

随机推荐

  1. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览1-2.2

    Part I. Spring框架概览 The Spring Framework is a lightweight solution and a potential one-stop-shop for ...

  2. C# 设置 窗口最大化

    Main.WindowState = FormWindowState.Maximized;

  3. Nginx详细配置

    #运行用户#user  nobody; #启动进程,通常设置成和cpu的数量相等或者2倍于cpu的个数(具体结合cpu和内存).默认为1worker_processes  1; #全局的错误日志和日志 ...

  4. android124 zhihuibeijing 新闻中心-组图

    package com.itheima.zhbj52.base.menudetail; import java.util.ArrayList; import android.app.Activity; ...

  5. yum -------包安装库

    elrepo:   http://elrepo.org/tiki/tiki-index.php CentOSPlus:    http://wiki.centos.org/zh/AdditionalR ...

  6. location查询字符串解析

    function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = (location.search.length >0? location.s ...

  7. C#_datatable_读取

    private void button5_Click(object sender, EventArgs e) { string 价格编号 = txtnum.Text; if (价格编号!= " ...

  8. 如何使用MVP模式搭建我们的Android应用?

    听到很多人在讨论MVVM,我自己早些时候也写过一篇介绍MVVM的文章(玩转Android之MVVM开发模式实战,炫酷的DataBinding!),实际上,在Android开发领域中,除了MVVM之外, ...

  9. volley框架详解

    Volley可是说是把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Uni ...

  10. Python 基础【第九篇】运算

    Python的运算符比较通俗和其他语言的几乎没什么区别 一.算数运算符 " + " 加法运算 >>> 1+3 4 加法运算扩展 "增强赋值操作" ...