每天一道算法_2_求高精度幂

今天这个可能有点偷懒,学c++的时候就知道大数计算很复杂,现在一直用java,有幸有大数的方法可以用那么今天的算法就用java偷懒过去吧Description对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。 现在要你解决的问题是:对一个实数R( 0.0 n),其中n 是整数并且 0 InputT输入包括多组 R 和 n。

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

今天这个可能有点偷懒,学c++的时候就知道大数计算很复杂,现在一直用java,有幸有大数的方法可以用

那么今天的算法就用java偷懒过去吧

Description

对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。  



现在要你解决的问题是:对一个实数R( 0.0 < R < 99.999 ),要求写程序精确计算 R 的 n 次方(R
n),其中n 是整数并且 0 < n <= 25。

Input

T输入包括多组 R 和 n。 R 的值占第 1 到第 6 列,n 的值占第 8 和第 9 列。

Output

对于每组输入,要求输出一行,该行包含精确的 R 的 n 次方。输出需要去掉前导的 0 后不要的 0 。如果输出是整数,不要输出小数点。

Sample Input & Sample Output

95.123 12
548815620517731830194541.899025343415715973535967221869852721
0.4321 20
.000000051485546410769561219945112767671548384817602007263512038354297630134624015.1234 15
43992025569.928573701266488041146654993318703707511666295476720493953024
6.7592  9
29448126.764121021618164430206909037173276672
98.999 10
90429072743629540498.107596019456651774561044010001
1.0100 12
1.126825030131969720661201

代码:

import java.math.BigDecimal;
import java.util.Scanner;

public class TheBigNumber {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while (in.hasNext()) {
			try {
				Double r = in.nextDouble();
				Integer n = in.nextInt();
				BigDecimal re = new BigDecimal(r.toString());
				String res = re.pow(n).stripTrailingZeros().toPlainString();
				if (res.startsWith("0"))
					res = res.substring(1, res.length());
				System.out.println(res);
			} catch (Exception e) {
			}
		}
	}
}

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

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

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

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


相关推荐

  • 人工智能、云计算、大数据、物联网的关系是什么?「建议收藏」

    人工智能、云计算、大数据、物联网的关系是什么?「建议收藏」  人工智能、云计算、大数据、物联网的关系是什么?    提到智能技术大家首先联想到的就是人工智能、大数据、云计算、物联网等。而很多人对这些名词间的关系模棱两可。因此有必要首先介绍下其间的联系。为了便于读者理解,这里不引用每个名词的通用定义,而采用通俗易懂的方式进行解释。人工智能从狭义角度讲就是以CNN卷积神经网络为代表的模型算法,具体的应用图像识别和语音识别。  目前社会上…

    2022年10月7日
  • excel转xml工具_怎样将xml转换成excel

    excel转xml工具_怎样将xml转换成exceltestlink用例导出到excel中

    2022年8月22日
  • Java审计之XSS篇

    Java审计之XSS篇0x00前言继续学习一波Java审计的XSS漏洞的产生过程和代码。0x01Java中XSS漏洞代码分析xss原理xss产生过程:后台未对用户输入进行检查或过滤

    2021年12月12日
  • 技术解析:阿里云 AnalyticDB 如何实现全球性能第一

    技术解析:阿里云 AnalyticDB 如何实现全球性能第一简介: 北京时间2020年5月4日,TPC官网正式公布,阿里云自研云原生数据仓库AnalyticDB通过严苛的TPC-DS全流程测试,性能较前世界纪录提升29%,单位成本仅为其1/3,再次成为全球性能领先的数据仓库。本文将对AnalyticDB进行全面解析,详细阐述其技术架构及存储和查询技术,并对AnalyticDB的下一步发展做出展望。前言随着云时代全面到来,企业数据需求不断变化,从传统的BigData逐渐向FastData演进,主要表现在如下

    2022年9月17日
  • 阿里云服务器搭建私人云盘

    阿里云服务器搭建私人云盘1、配置安全组端口新建安全组并开放以下端口2、利用Git来搭建私人云盘1、利用Workbench点击立即登录进行远程连接2、安装docker容器docker是一款开源的容器运行工具,提供了一套便捷的服务打包、分发、部署方式。我们将要部署的服务就是通过docker容器来运行的。docker-compose是一款基于docker的容器编排工具。有了它,我们通过一份配置文件就能启动所有需要的服务。依次执行以下命令,通过自动化脚本完成docker..

    2022年5月23日
  • 关于IE打印预览内容显示不全的问题解决「建议收藏」

    关于IE打印预览内容显示不全的问题解决

    2022年1月19日

发表回复

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

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