• 1514:数值的整数次方 @jobdu


    题目1514:数值的整数次方

    时间限制:1 秒

    内存限制:128 兆

    特殊判题:

    提交:377

    解决:103

    题目描述:

    给定一个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
    提示:

     请特别注意不同的编译器对于科学计数法格式输出中指数位数的差别。建议使用九度Online Judge所使用的编译环境。


    最后一组数据不知道为什么无法通过,翻看了一下记录,发现用Java做的没有一个AC,于是就不浪费时间纠结了。

    C++版本的可参考这两个:算法都是一样的

    http://blog.csdn.net/SunnyYoona/article/details/14646053

    http://blog.csdn.net/arcsinsin/article/details/12917119


    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    
    public class S11 {
    
    	public static void main(String[] args) throws FileNotFoundException {
    		BufferedInputStream in = new BufferedInputStream(new FileInputStream("in.in"));
    		System.setIn(in);
    		Scanner cin = new Scanner(System.in);
    		
    		while (cin.hasNextInt()) {
    			long n = cin.nextInt();
    			for(int i=0; i<n; i++){
    				double ret = power(cin.nextDouble(), cin.nextInt());
    				if(ret != Double.POSITIVE_INFINITY){
    					System.out.println(String.format("%.2ef", ret));
    				}else{
    					System.out.println("INF");
    				}
    			}
    		}
    	}
    	
    	public static double power(double base, int n){
    		if(n == 0){
    			return 1;
    		}
    		if(n == 1){
    			return base;
    		}
    		if(n < 1){
    			return 1.0/power(base, -n);
    		}
    		if((n & 1) == 1){		// odd
    			double tmp = power(base, (n-1)>>1);
    			return tmp * tmp * base;
    		}else{
    			double tmp = power(base, n>>1);
    			return tmp * tmp;
    		}
    	}
    }
    


  • 相关阅读:
    golang并发
    golang接口
    golang方法
    golang函数
    微信小程序请求封装
    使用vue实现打印功能时出现多余空白页的问题
    mybatis 基本配置
    sql调优
    触发器 索引
    收藏 故事形式讲解javaScript中创建对象和Java创建对象的区别
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3478706.html
Copyright © 2020-2023  润新知