标签:output problem common air str comm com 计数 star
Time Limit: 500MS | Memory Limit: 10000K | |
Total Submissions: 183034 | Accepted: 44062 |
Description
Input
Output
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
Hint
C++
while(cin>>s>>n)
{
...
}
c
while(scanf("%s%d",s,&n)==2) //to see if the scanf read in as many items as you want
/*while(scanf(%s%d",s,&n)!=EOF) //this also work */
{
...
}
Source
题意:
给定一个浮点数R和一个整数n,求R^n
思路:
想给学弟们出一道大数巩固一下。搜到的大数例题。
java BigDecimal自己也都还没用过。
两个点,用 String s = r.pow(n).stripTrailingZeros().toPlainString();使结果不用科学计数法。
注意去掉前导零。比如0.00001要变成 .00001
1 import java.io.EOFException; 2 import java.math.BigDecimal; 3 import java.math.BigInteger; 4 import java.util.Scanner; 5 6 public class Main { 7 8 9 static public void main(String[] args){ 10 Scanner scan = new Scanner(System.in); 11 BigDecimal r; 12 int n; 13 while(scan.hasNext()){ 14 r = scan.nextBigDecimal(); 15 n = scan.nextInt(); 16 String s = r.pow(n).stripTrailingZeros().toPlainString(); 17 if(s.startsWith("0")){ 18 s = s.substring(1); 19 } 20 System.out.println(s); 21 } 22 scan.close(); 23 } 24 }
poj1001 Exponentiation【java大数】
标签:output problem common air str comm com 计数 star
原文地址:https://www.cnblogs.com/wyboooo/p/9898388.html