POJ 1001 Exponentiation
题意:求c的n次幂……要求保留所有小数……
解法:一开始只知道有BigInteger……java大数+模拟。第一次写java大数……各种报错各种exception……ORZ
没有前导0和小数后面的补位0,整数的话不输出小数点,wa点就这些···被整数后面的小数点坑死了···
代码:
放渣代码……
import java.math.BigInteger;
import java.util.Scanner; public class Main
{ public static void main(String args[]){Scanner cin = new Scanner(System.in);while(cin.hasNext()){String s;int n;s = cin.next();n = cin.nextInt();String s1 = "";int len = s.length();int x = -1;for(int i = 0; i < len; i++){if(s.charAt(i) != '.')s1 += s.charAt(i);elsex = i;}//去掉输入中的小数点,并记录小数点出现在第几位BigInteger ans = new BigInteger(s1);ans = ans.pow(n);//计算去小数点后的整数的n次幂if(x == -1)//如果没出现小数点说明输入是整数System.out.println(ans);else{x = 5 - x;//计算小数点后有几位x *= n;//计算积的小数点后有几位boolean flag = false;String s2 = ans.toString();len = s2.length();String res = "";for(int i = len - 1, j = 0; (i >= 0) || (j < x); i--, j++)补小数点并去掉多余的0{if(i < 0)res += '0';else{if(s2.charAt(i) == '0'){if(flag)res += s2.charAt(i);}else{res += s2.charAt(i);flag = true;}}if(j + 1 == x){if(flag)res += '.';flag = true;}}flag = false;len = res.length();for(int i = len - 1; i >= 0; i--){if(res.charAt(i) == '0')//去前导0{if(flag)System.out.print(res.charAt(i));}else{System.out.print(res.charAt(i));flag = true;}}System.out.println("");}}}
}
后来!有人告诉我还有BigDecimal!直接哭晕在厕所!
代码:
import java.math.*;
import java.util.*;public class Main
{public static void main(String args[]){Scanner cin = new Scanner(System.in);BigDecimal ans;int n;while(cin.hasNext()){ans = cin.nextBigDecimal();n = cin.nextInt();ans = ans.pow(n);String res = ans.stripTrailingZeros().toPlainString();if(res.charAt(0) != '0')System.out.print(res.charAt(0));int len = res.length();for(int i = 1; i < len; i++)System.out.print(res.charAt(i));System.out.println();}}
}
嗯~一开始输出发现有的小数变成了科学计数法~学到两个函数
BigDecimal.stripTrailingZeros()去掉后面多余的0
BigDecimal.toPlainString()用来展开科学计数法
转载于:https://www.cnblogs.com/Apro/p/4357200.html
POJ 1001 Exponentiation相关推荐
- POJ 1001 Exponentiation C++解题报告 JAVA解题报告
求高精度幂 Time Limit: 500MS Memory Limit: 10000K Total Submissions: 126980 Accepted: 30980 Descripti ...
- poj 1001 Exponentiation(java)
点击打开链接 Exponentiation Time Limit: 500MS Memory Limit: 10000K Total Submissions: 178771 Accepted: ...
- java北大oj1001_这个——北大 ACM POJ 1001 Exponentiation C/C++
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 帮忙看下 1.在自己电脑上测试没有问题,oj显示答案错误.提交的语言是c++. 2.这个代码哪里不符合C99标准,为什么不能使用C提交. -------- ...
- POJ 1001 Exponentiation
最裸的高精度幂,记录一下Java里面高精度类的用法而已 1 import java.io.*; 2 import java.util.Scanner; 3 import java.math.*; 4 ...
- POJ 1001 Exponentiation (记第一道Java水过的题)
妹的!java些高精度相当与玩cs开外挂!电脑装上java很久了,一直只会写写a + b 玩,今天心血来潮找个高精度来玩玩.^ ^ import java.io.*; import java.util ...
- 【POJ - 1001 】Exponentiation (Java大数,高精度)
题干: Problems involving the computation of exact values of very large magnitude and precision are com ...
- 百炼1001: Exponentiation 解题
链接:http://bailian.openjudge.cn/practice/1001/ 思路 乍一看是很简单的题目,但是答案必须高精度输出,因此需要手动实现一个高精度运算方法.如果直接使用int, ...
- poj 1001 分析
1) n = 0; return 1: 2) n = 1; bool standardizeNumNoDot(string &s){标准化是一定要得} _将'.'前后的〇全部去除,正常retu ...
- POJ 1001(高精度乘法 java的2种解法)
方法1: import java.math.BigDecimal; import java.util.Scanner; public class Main {public static void ma ...
最新文章
- 商汤科技不等于人脸识别!它正在赋予AI更强的“存在感”
- 1121:计算矩阵边缘元素之和
- 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?+深度可分离卷积详解
- 喜茶部分产品降价,企查查显示其最新估值达600亿元
- 创造型模式-生成器模式
- GitHub 五万星登顶,程序员命令行最全技巧宝典!
- web点播VOD m3u8播放识别为live流 播放几个.ts切片停止播放 排错
- python中换页是干嘛的_python什么是转页符
- 1183 电力(点的双连通分量--求解割点)
- 拖延症测试皮肤软件,桌面时钟软件
- 直播评论可以用html,网页制作HTML5实现直播间评论滚动效果的代码
- php文件是不是死链,怎么判断网站的链接是不是死链接? 百度搜索标准死链官方文档...
- 内网穿透工具(永久免费、永不限速、开源)、一键启动、页面操作(支持window,mac),自定义二级域名
- Joplin插件推荐-持续更新
- 顶尖量化交易公司 CEO 如何缔造量化金融王国?
- 计算机考研怎么给老师发邮件,怎么发邮件-考研重要一环,如何给心仪的导师发邮件!内附邮件格式...
- Lync 2010 客户端:无法登陆到Lync,验证服务器中的证书时遇到问题
- 面向企业级的开源WebGIS解决方案--MapGuide(安装)
- repo upload 或者git push 报错“remote: (W):commit subject 65 characters,use shorter first paragraph”
- Matlab使用regress函数进行回归分析
热门文章
- element UI表格使用cell-style改变单元格样式
- 罗马仕php30重量,充电宝多少毫安最好?这3款罗马仕充电宝必须收藏
- 修改驱动器重定向显示格式
- [CENTOS7] [IPTABLES] 卸载Firewall Id安装 IPTABLES及防火墙设置
- ArrayList add方法深度解析。
- Redis开发运维实践数据操作之HyperLogLog操作
- 安装Lync 2013过程中遇到的第一个报错
- intellij idea 简单使用教程
- 颇有微词 小模式 大蓝海 by 曹继忠 - 2013中国SEO排行榜
- 关于布局管理器FlowLayout的思考:如何让FlowLayout自动换行(3)