poj 1001 Exponentiation

求实数的冥,虽然题没啥难度,为了弄下java做的

java就是方便啊,几行就搞定了c++近100行的东东,哎,为嘛STL不封装biginteger呢?
import java.math.BigDecimal;
import java.util.Scanner;


public class Main {
    
public void slove()
    {
        Scanner cin 
= new Scanner(System.in);
        
while ( cin.hasNext() )
        {
            BigDecimal num 
= cin.nextBigDecimal();
            
int n = cin.nextInt();
            BigDecimal sum 
= new BigDecimal("1");
            String str;
            
while ( n > 0 )
            {
                
if ( ( n & 1 ) > 0 )
                    sum 
= sum.multiply(num);
                num 
= num.multiply(num);
                n
>>=1;
            }
            str
= sum.stripTrailingZeros().toPlainString();
            
if ( str.startsWith("0.") )
                str
= str.substring(1);
            System.out.println(str);
        }
    }
    
public static void main(String[] args) {
        
new Main().slove();
    }
}

posted on 2011-10-04 19:55 purplest 阅读(202) 评论(0)  编辑 收藏 引用 所属分类: 高精度


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿

随笔分类(70)

随笔档案(68)

ACMer

搜索

最新随笔

最新评论