题意:求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相关推荐

  1. POJ 1001 Exponentiation C++解题报告 JAVA解题报告

    求高精度幂 Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 126980   Accepted: 30980 Descripti ...

  2. poj 1001 Exponentiation(java)

    点击打开链接 Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 178771   Accepted: ...

  3. java北大oj1001_这个——北大 ACM POJ 1001 Exponentiation C/C++

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 帮忙看下 1.在自己电脑上测试没有问题,oj显示答案错误.提交的语言是c++. 2.这个代码哪里不符合C99标准,为什么不能使用C提交. -------- ...

  4. POJ 1001 Exponentiation

    最裸的高精度幂,记录一下Java里面高精度类的用法而已 1 import java.io.*; 2 import java.util.Scanner; 3 import java.math.*; 4 ...

  5. POJ 1001 Exponentiation (记第一道Java水过的题)

    妹的!java些高精度相当与玩cs开外挂!电脑装上java很久了,一直只会写写a + b 玩,今天心血来潮找个高精度来玩玩.^ ^ import java.io.*; import java.util ...

  6. 【POJ - 1001 】Exponentiation (Java大数,高精度)

    题干: Problems involving the computation of exact values of very large magnitude and precision are com ...

  7. 百炼1001: Exponentiation 解题

    链接:http://bailian.openjudge.cn/practice/1001/ 思路 乍一看是很简单的题目,但是答案必须高精度输出,因此需要手动实现一个高精度运算方法.如果直接使用int, ...

  8. poj 1001 分析

    1) n = 0; return 1: 2) n = 1; bool standardizeNumNoDot(string &s){标准化是一定要得} _将'.'前后的〇全部去除,正常retu ...

  9. POJ 1001(高精度乘法 java的2种解法)

    方法1: import java.math.BigDecimal; import java.util.Scanner; public class Main {public static void ma ...

最新文章

  1. 商汤科技不等于人脸识别!它正在赋予AI更强的“存在感”
  2. 1121:计算矩阵边缘元素之和
  3. 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?+深度可分离卷积详解
  4. 喜茶部分产品降价,企查查显示其最新估值达600亿元
  5. 创造型模式-生成器模式
  6. GitHub 五万星登顶,程序员命令行最全技巧宝典!
  7. web点播VOD m3u8播放识别为live流 播放几个.ts切片停止播放 排错
  8. python中换页是干嘛的_python什么是转页符
  9. 1183 电力(点的双连通分量--求解割点)
  10. 拖延症测试皮肤软件,桌面时钟软件
  11. 直播评论可以用html,网页制作HTML5实现直播间评论滚动效果的代码
  12. php文件是不是死链,怎么判断网站的链接是不是死链接? 百度搜索标准死链官方文档...
  13. 内网穿透工具(永久免费、永不限速、开源)、一键启动、页面操作(支持window,mac),自定义二级域名
  14. Joplin插件推荐-持续更新
  15. 顶尖量化交易公司 CEO 如何缔造量化金融王国?
  16. 计算机考研怎么给老师发邮件,怎么发邮件-考研重要一环,如何给心仪的导师发邮件!内附邮件格式...
  17. Lync 2010 客户端:无法登陆到Lync,验证服务器中的证书时遇到问题
  18. 面向企业级的开源WebGIS解决方案--MapGuide(安装)
  19. repo upload 或者git push 报错“remote: (W):commit subject 65 characters,use shorter first paragraph”
  20. Matlab使用regress函数进行回归分析

热门文章

  1. element UI表格使用cell-style改变单元格样式
  2. 罗马仕php30重量,充电宝多少毫安最好?这3款罗马仕充电宝必须收藏
  3. 修改驱动器重定向显示格式
  4. [CENTOS7] [IPTABLES] 卸载Firewall Id安装 IPTABLES及防火墙设置
  5. ArrayList add方法深度解析。
  6. Redis开发运维实践数据操作之HyperLogLog操作
  7. 安装Lync 2013过程中遇到的第一个报错
  8. intellij idea 简单使用教程
  9. 颇有微词 小模式 大蓝海 by 曹继忠 - 2013中国SEO排行榜
  10. 关于布局管理器FlowLayout的思考:如何让FlowLayout自动换行(3)