HDU Exponentiation 1063 Java大数题解

HDU Exponentiation 1063 Java大数题解

大家好,又见面了,我是全栈君。

Exponentiation

Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6973    Accepted Submission(s): 1975




Problem Description
Problems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many computer systems. 

This problem requires that you write a program to compute the exact value of R
n where R is a real number ( 0.0 < R < 99.999 ) and n is an integer such that 0 < n <= 25. 

 


Input
The input will consist of a set of pairs of values for R and n. The R value will occupy columns 1 through 6, and the n value will be in columns 8 and 9.

 


Output
The output will consist of one line for each line of input giving the exact value of R^n. Leading zeros should be suppressed in the output. Insignificant trailing zeros must not be printed. Don’t print the decimal point if the result is an integer.

 


Sample Input
   
   
95.123 12 0.4321 20 5.1234 15 6.7592 9 98.999 10 1.0100 12

 


Sample Output
   
   
548815620517731830194541.899025343415715973535967221869852721 .00000005148554641076956121994511276767154838481760200726351203835429763013462401 43992025569.928573701266488041146654993318703707511666295476720493953024 29448126.764121021618164430206909037173276672 90429072743629540498.107596019456651774561044010001 1.126825030131969720661201

大数的题目使用Java就变得其简单无比。

主要就一句代码:

String ans = a.pow(b).stripTrailingZeros().toPlainString();

去零和转换为纯字符串输出。

这使用C++要数十行代码。

对照C++解法:http://blog.csdn.net/kenden23/article/details/23997827

相比之下。java就成了水题了。学不到什么东西。

import java.math.BigDecimal;
import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext())
        {
            BigDecimal a = scan.nextBigDecimal();
            int b = scan.nextInt();
            String ans = a.pow(b).stripTrailingZeros().toPlainString();
            if (ans.startsWith("0")) ans = ans.substring(1);
            System.out.println(ans);
        }
        scan.close();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115938.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一次xxoo提权[通俗易懂]

    一次xxoo提权[通俗易懂]数据库root权限。然并卵。看了一下phpinfo得知是mysql5.0的然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了。然而数据库这条路是GG了OS名称:MicrosoftWindowsServer2008R2Enterprise修补程序:安装了1个修补程序。然后各种e…

    2022年7月17日
    20
  • PyQt5 打包 没有icon图标

    PyQt5 打包 没有icon图标

    2021年11月22日
    48
  • 【永久一次性解决】github访问慢[通俗易懂]

    【永久一次性解决】github访问慢[通俗易懂]一次性解决

    2022年7月16日
    15
  • Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法[通俗易懂]

    Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法[通俗易懂]Eclipse是目前最流行的Java语言开发工具,它强大的代码辅助功能,可以帮助开发人员自动完成语法修正、补全文字、代码修复、API提示等编码工作,大量节省程序开发所需的时间。本教程使用Eclipse为开发工具,下面介绍它的安装。(1)Eclipse是一个开放源代码的项目,其官方网站是www.eclipse.org。图1所示为Eclipse官方网站的首页。图…

    2022年5月20日
    43
  • JAVA–Map集合详解

    JAVA–Map集合详解特点:该集合存储键(key)值(value)对,一对一对往里存,而且要保证键(key)的唯一性。Map集合和Set集合很像,其实Set集合底层就是使用了Map集合。什么时候使用Map集合:当数据之间存在映射关系时,优先考虑Map集合。Map集合常用共有方法1.添加Vput(Kkey,Vvalue):将指定的值与此映射中的指定键关联…

    2022年5月27日
    38
  • Python读取h5文件_html python

    Python读取h5文件_html python原文链接:https://blog.csdn.net/leibaojiangjun1/article/details/53635353 h5接受的数据是矩阵跟mat方法一致,但是具有更强的压缩性能使用hdf5依赖于python的工具包:h5pyimporth5py #导入工具包importnumpyasnp#HDF5的写入:imgData=np.zeros((30,3…

    2025年10月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号